{"version":3,"file":"Kit.BiakG2p2.mjs","names":["_Fragment","useState","useRef","useCallback","useMemo","React","OwnerChatModal","OwnerButton","useLayoutEffect","useEffect"],"sources":["https:/framer.com/m/Chat-Modal-ixhy.js","https:/framer.com/m/Button-cCIb.js","https:/framerusercontent.com/modules/ceLqdgsWq97YSuxuxJxP/7juKU19TvcULIZBx4BG5/Kit.js"],"sourcesContent":["/*\n * Chat Modal\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/bXfXHbqoO3ATVGryvziU/RzpHgJlNUfLZ77ZJ9xVu/Ftid_eTUK.js\"\nexport { default } from \"https://framerusercontent.com/modules/bXfXHbqoO3ATVGryvziU/RzpHgJlNUfLZ77ZJ9xVu/Ftid_eTUK.js\"\n","/*\n * Button\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/m2N2rcVtdBYzzgIq4rzo/QaHIAmoZhr63qRORSn30/JEDUaw0PO.js\"\nexport { default } from \"https://framerusercontent.com/modules/m2N2rcVtdBYzzgIq4rzo/QaHIAmoZhr63qRORSn30/JEDUaw0PO.js\"\n","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{useCallback,useEffect,useLayoutEffect,useMemo,useRef,useState}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";// The owner's own text bar (the Chat Modal canvas component, Ftid_eTUK), imported by its module URL. Framer's\n// typecheck cannot resolve module URLs, so the line is silenced; it resolves at runtime (checked on /asm-kit).\n// Imported without a version so the owner's own edits to his Chat Modal reach every page that uses the kit (tested\n// on /asm-kit 2026-09-25: it renders; the first load after a publish is slow, as it is with a pinned URL). If it ever\n// stops rendering, pin it to the current version: (await framer.getNode(\"Ftid_eTUK\")).insertURL, which on\n// 2026-09-25 was https://framer.com/m/Chat-Modal-ixhy.js@RzpHgJlNUfLZ77ZJ9xVu\n// @ts-ignore\nimport OwnerChatModal from\"https://framer.com/m/Chat-Modal-ixhy.js\";// The owner's own Button (JEDUaw0PO, variants \"Primary \", \"Dark to Light\", \"Button Text\"), imported the same way (D15).\n// @ts-ignore\nimport OwnerButton from\"https://framer.com/m/Button-cCIb.js\";// @ts-ignore  (Framer's typecheck cannot resolve sibling code files; they resolve at runtime)\nimport{hasLadder,pickMedia,FitVideo}from\"https://framerusercontent.com/modules/A03zkAaMuSAW3jgsfsHj/WQ9OrLQMKoiahpC33ROB/CapStore.js\";/*\n * ASM Kit: the shared parts of the three ASM 2 pages, built once so every component is rebuilt on one look.\n * Source of the system: Documentation/ASM2-PAGE/session2/design/design-system.md (adopted as D10) and\n * design-per-component.md, \"Before the list: the shared parts, built once\". The light follows\n * Components/shared/ApexArrival/THE-LIGHT.md; the line light is PrototypeLoop's, measured (design-system 5.1),\n * with its clipped glow fixed.\n *\n * How a component uses it (in Framer, from any code file under ASM/):\n *     // @ts-ignore  (Framer's typecheck cannot resolve sibling code files; they resolve at runtime)\n *     import { Road, Selector, Stage, useScale, K } from \"./Kit.tsx\"\n *\n * Words are never written here: every part that shows words takes them as props.\n *\n * Performance: every light draws on one shared requestAnimationFrame, only while its element is on screen and the\n * tab is visible, and stops drawing once it has settled. The satin paints once per size, in idle time, in chunks.\n */const useIsoLayoutEffect=typeof window!==\"undefined\"?useLayoutEffect:useEffect;export const K={black:\"#000000\",slate:\"#1d1d1f\",text:\"#f5f5f7\",grey:\"#86868b\",grey3:\"#6e6e73\",// D15: darker than the director's #d2d2d7, which at 1512 read almost as white as the selected item\nhover:\"#aeaeb2\",// The kit ships its own faces of Inter Tight and Inter (Google's variable files) under its own family names,\n// so the parts look the same on any page whether or not the page itself uses those fonts.\n// D25: each face is followed by a metric-matched stand-in (Arial with Inter's metrics, the same values Framer uses for\n// its own \"Inter Placeholder\" faces), so text laid out before the face arrives takes almost the same room and the\n// page barely moves when it does.\n// 2026-09-25: first come the faces carried inside the page by ASM/KitFonts.tsx (one instance at the top of a page),\n// which the browser has before its first paint, so no line changes when a face arrives. Where a page has no KitFonts\n// these names do not exist and the stack falls through to the URL faces as before.\nhead:'\"ASM Inter Tight Embedded\", \"ASM Inter Tight\", \"ASM Inter Tight Placeholder\", \"Inter Tight\", \"Inter\", system-ui, -apple-system, sans-serif',body:'\"ASM Inter Embedded\", \"ASM Inter\", \"ASM Inter Placeholder\", \"Inter\", system-ui, -apple-system, sans-serif',ease:\"cubic-bezier(0.22, 1, 0.36, 1)\",// The owner's metallic text (his Gradient Text component, pFW7Ey1kh): 181deg, white to rgb(79,79,89).\nmetallic:\"linear-gradient(181deg, rgb(255, 255, 255) 0%, rgb(79, 79, 89) 99.37%)\"};export const groundColor=g=>g===\"slate\"?K.slate:K.black;/** The one selected signal: white text on the satin pill (design-system 2.2). */export const satinPill=g=>g===\"slate\"?\"rgba(255,255,255,0.10)\":\"rgba(255,255,255,0.08)\";/** Reference sizes at 1512 x 862 (design-system 2.2 and 3.2). Multiply by s. */export const REF={w:1512,h:862,display:96,title:48,stageTitle:28,body:19,selector:17,control:16,caption:14,status:14,unit:8,rowH:40,rowGap:6,buttonH:44,barH:36};// ------------------------------------------------------------------------------------------------------------\n// Fonts\n// ------------------------------------------------------------------------------------------------------------\nconst FONT_INTER_TIGHT=\"https://fonts.gstatic.com/s/intertight/v9/NGSwv5HMAFg6IuGlBNMjxLsH8ahuQ2e8.woff2\";const FONT_INTER=\"https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0Q5nw.woff2\";const LATIN=\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\";export const KIT_FONT_CSS=// the stand-ins, per weight, their widths measured against the real faces over the pages' own lines (D25)\n`@font-face{font-family:\"ASM Inter Tight Placeholder\";src:local(\"Arial\");font-weight:100 549;ascent-override:99.65%;descent-override:24.81%;line-gap-override:0%;size-adjust:98.49%}`+`@font-face{font-family:\"ASM Inter Tight Placeholder\";src:local(\"Arial Bold\"),local(\"Arial-BoldMT\");font-weight:550 900;ascent-override:99.65%;descent-override:24.81%;line-gap-override:0%;size-adjust:93.94%}`+`@font-face{font-family:\"ASM Inter Placeholder\";src:local(\"Arial\");font-weight:100 549;ascent-override:89.79%;descent-override:22.36%;line-gap-override:0%;size-adjust:107.95%}`+`@font-face{font-family:\"ASM Inter Placeholder\";src:local(\"Arial Bold\"),local(\"Arial-BoldMT\");font-weight:550 900;ascent-override:89.79%;descent-override:22.36%;line-gap-override:0%;size-adjust:101.63%}`+`@font-face{font-family:\"ASM Inter Tight\";font-style:normal;font-weight:100 900;font-display:swap;src:url(${FONT_INTER_TIGHT}) format(\"woff2\");unicode-range:${LATIN}}`+`@font-face{font-family:\"ASM Inter\";font-style:normal;font-weight:100 900;font-display:swap;src:url(${FONT_INTER}) format(\"woff2\");unicode-range:${LATIN}}`;function ensureFonts(){if(typeof document===\"undefined\")return;if(document.getElementById(\"asm-kit-fonts\"))return;const st=document.createElement(\"style\");st.id=\"asm-kit-fonts\";st.textContent=KIT_FONT_CSS;document.head.appendChild(st);}ensureFonts();// ------------------------------------------------------------------------------------------------------------\n// The scale factor (design-system 3.2)\n// ------------------------------------------------------------------------------------------------------------\n/**\n * r = min(w / 1512, h / 862); s = r < 1 ? max(0.82, r) : min(1.25, 1 + 0.5 (r - 1)), taken down to the nearest step of\n * 0.005 so it is exactly the value the page's CSS variable holds (D25, below). 1440 x 790 -> 0.915, 1512 x 862 -> 1,\n * 1920 x 1080 -> 1.125, 2560 x 1440 -> 1.25.\n */export const S_STEP=.005;/**\n * BIG SCREENS (the big-screen director, v8, 2026-10-19; an option, off unless the page turns it on). A page whose\n * PageScale has its \"Big screens\" set on carries `--asm-big` on :root and its own --asm-s steps (big-screens.css). There\n * s is the larger of today's value and window A's s (1.0644 at CSS 1870 x 973, unstepped) followed at the window's own\n * rate, min(w / 1870, h / 973), at most 2: so a window larger than window A keeps window A's composition, its type\n * included, at the share of the window it has there. Equal to today's value at window A and every smaller window.\n * Without `--asm-big` (every page before v8, the server's render) scaleFor is exactly as before.\n */export const BIG_A=1.0644;export const BIG_MAX=2;function bigScreensOn(){if(typeof document===\"undefined\")return false;try{return getComputedStyle(document.documentElement).getPropertyValue(\"--asm-big\").trim()!==\"\";}catch{return false;}}/**\n * KIT BELOW WINDOW A (engineering, v8, 2026-10-19; an option, off unless the page turns it on). A page whose PageScale\n * has its \"Kit below window A\" set on carries `--asm-full` on :root and its own --asm-s steps (PageScale section 7). In a\n * landscape window from 810 wide smaller than window A (CSS 1870 x 973) in either direction, s is BIG_A x min(w / 1870,\n * h / 973) stepped down to 0.005, never under 0.4: window A's composition scaled down, with no 0.82 floor. The same\n * formula as PageScale's KIT_BELOW_A; the two must stay equal. null where it does not apply.\n */function fullBelowAOn(){if(typeof document===\"undefined\")return false;try{return getComputedStyle(document.documentElement).getPropertyValue(\"--asm-full\").trim()!==\"\";}catch{return false;}}export function fullBelowA(w,h){const r2=x=>Math.round(x*100)/100;const W=v=>r2(1870*v/BIG_A);const H=v=>r2(973*v/BIG_A);if(!(w>=810)||!(w>h))return null;if(w>=W(1.06)&&h>=H(1.06))return null;let s=.4;for(let i=81;;i++){const v=Math.round(i*5)/1e3;if(v>1.055+1e-9)break;if(w>=W(v)&&h>=H(v))s=v;else break;}return s;}export function scaleFor(w,h){if(!(w>0)||!(h>0))return 1;const r=Math.min(w/REF.w,h/REF.h);let raw=r<1?Math.max(.82,r):Math.min(1.25,1+.5*(r-1));const big=bigScreensOn();if(big)raw=Math.max(raw,Math.min(BIG_MAX,BIG_A*Math.min(w/1870,h/973)));const out=Math.round((.82+Math.floor((raw-.82)/S_STEP+1e-6)*S_STEP)*1e3)/1e3;// below window A with the option on: the full rate, unless a Big screens step (from 1.06) holds, as in the CSS\nif(fullBelowAOn()&&!(big&&out>=1.06-1e-9)){const f=fullBelowA(w,h);if(f!==null)return f;}return out;}/**\n * THE SCALE AS A CSS VARIABLE (D25). `--asm-s` holds s on :root, set by the viewport alone through media queries, one\n * rule per step of 0.005 (s >= v exactly when the viewport is at least 1512 r(v) x 862 r(v) px, r(v) = v below the\n * reference and 2v - 1 above it). It is in the page's HTML from the server, so every size written with it is right on\n * the first paint and nothing moves when the page comes alive, at any viewport. Render <KitScale /> once at the root of\n * every component (it also carries the kit's fonts, so they start loading with the HTML), and write every size that\n * depends on s with cs() (or the kit's parts, which do). useScale() stays for what can only be computed after mount\n * (canvases, measured layouts): it returns exactly the same stepped value.\n *//**\n * The zoom of the pill buttons (fixes0929 A5 and D9, 2026-09-29): the owner's pill (his Button, 49 px tall at its own\n * size) and the white pill beside it are one height, 49 x s, never under 44 px (44 / 49 = 0.898). `--asm-bz` holds it\n * beside `--asm-s`, stepped with it; on the phone it is 15 / 16, so a pill's words are 15 px and the pill 45.9 px.\n */export const BUTTON_ZOOM_MIN=.898;export const BUTTON_ZOOM_PHONE=.9375;function scaleCss(){let out=`:root{--asm-s:0.82;--asm-bz:${BUTTON_ZOOM_MIN}}`;for(let i=1;;i++){const v=Math.round((.82+i*S_STEP)*1e3)/1e3;if(v>1.25+1e-9)break;const r=v<=1?v:2*v-1;const w=Math.round(REF.w*r*100)/100;const h=Math.round(REF.h*r*100)/100;out+=`@media (min-width:${w}px) and (min-height:${h}px){:root{--asm-s:${v};--asm-bz:${Math.max(v,BUTTON_ZOOM_MIN)}}}`;}return out;}export const SCALE_CSS=scaleCss();/**\n * What changes on the phone and on touch, in CSS so the first paint is the final one (fixes0929, 2026-09-29):\n * - `--asm-tmin`, the smallest text: 14 px, 15 px on the phone (D10). The kit's small words (the selector, the caption,\n *   the status) are never under it.\n * - `--asm-bz` on the phone: the pills' words at 15 px (A5, D9, D10).\n * - `.asm-kt`, a section title (Title at 40 or more): on the phone 34 px and left, at the gutter (D5, D6). A component's\n *   own phone rule for its title (a more specific selector) still wins.\n * - `.asm-hit`, a control: on the phone and on touch its hit area is at least 44 x 44 px around its centre, without\n *   changing its size or its place (D9).\n */export const PHONE_CSS=`:root{--asm-tmin:14px}`+`@media (max-width:809.98px){:root{--asm-tmin:15px;--asm-bz:${BUTTON_ZOOM_PHONE}}.asm-kt{font-size:34px!important;line-height:1.1!important;text-align:left!important}}`+`@media (max-width:809.98px),(pointer:coarse){.asm-hit::after{content:\"\";position:absolute;left:50%;top:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}}`;/** The smallest text, from the page's variable (PHONE_CSS); 0 where KitScale is absent, so nothing changes there. */export const TEXT_MIN=\"var(--asm-tmin, 0px)\";/** A text size never under the page's smallest text: `v` is a kit size (a CSS length or px). */export function textMin(v){return`max(${TEXT_MIN}, ${typeof v===\"number\"?v+\"px\":v})`;}/** The pill buttons' zoom as CSS (see BUTTON_ZOOM_MIN); where KitScale is absent, the page's scale as before. */export const BUTTON_ZOOM=\"var(--asm-bz, var(--asm-s, 1))\";/** A reference size as CSS, scaled by the page's variable: calc(ref px * s), never under `floor`. No jump on load. */export function cs(ref,floor=0){const c=`calc(${ref}px * var(--asm-s, 1))`;return floor>0?`max(${floor}px, ${c})`:c;}/** The scale itself, for CSS that takes a number (zoom, scale()). */export const S_VAR=\"var(--asm-s, 1)\";/**\n * The page's one container and one split (POLISH rule 3, the lead builder, 2026-09-25). Every section's content sits\n * inside PAGE_MARGIN on both sides (so it is min(100% - 2 x 6.35vw, 1320 x s) wide); a two-part section is words 2 :\n * stage 3 with SPLIT_GAP between; a section with words only is centred.\n */export const PAGE_MARGIN=\"max(48px, 6.35vw, calc((100% - 1320px * var(--asm-s, 1)) / 2))\";export const SPLIT_COLUMNS=\"minmax(0, 2fr) minmax(0, 3fr)\";export const SPLIT_GAP=\"calc(64px * var(--asm-s, 1))\";/**\n * The stage card (POLISH rule 6, from his home page's cards): rounded, a hairline edge and a soft light from the top on\n * near black. It holds words and a stage together. A model stands on it only where its picture has true transparency;\n * an opaque film's area stays black (his 14:08: a grey plate \"ADDS A VISIBLE FRAME\").\n */export const STAGE_CARD={position:\"relative\",borderRadius:\"calc(28px * var(--asm-s, 1))\",// pure black under the light, so a stage on black inside it never shows its own rectangle (his 14:08); the light\n// stays at the top, where the words sit\nbackground:\"radial-gradient(110% 55% at 50% 0%, rgba(255,255,255,0.075) 0%, rgba(255,255,255,0.02) 50%, rgba(255,255,255,0) 80%), #000\",boxShadow:\"inset 0 0 0 1px rgba(255,255,255,0.08)\",overflow:\"hidden\"};/** The scale variable and the kit's fonts, in the HTML from the server. Once at the root of every component. */export function KitScale(){// The kit's two faces are fetched as soon as the HTML is read (preload); until they arrive the text is laid out in\n// their metric-matched stand-ins (K.head, K.body), so it barely moves when they do (D25).\nreturn /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"link\",{rel:\"preload\",as:\"font\",type:\"font/woff2\",href:FONT_INTER_TIGHT,crossOrigin:\"anonymous\"}),/*#__PURE__*/_jsx(\"link\",{rel:\"preload\",as:\"font\",type:\"font/woff2\",href:FONT_INTER,crossOrigin:\"anonymous\"}),/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:KIT_FONT_CSS+SCALE_CSS+PHONE_CSS}})]});}/**\n * For the kit's own parts: sizes in CSS (the variable) unless the caller passed its own fixed s (a number other than\n * the page's), in which case they are numbers at that s.\n */function useSz(sProp){const sAuto=useScale();const css=sProp===undefined||sProp===sAuto;const s=sProp??sAuto;const z=(ref,floor=0)=>css?cs(ref,floor):px(ref,s,floor);return{s,css,z};}/** A reference size times s, rounded to 0.01 px, never under `floor` (captions: 14). */export function px(ref,s,floor=0){return Math.max(floor,Math.round(ref*s*100)/100);}/** The same scale as CSS, for native Framer text (design-system 3.2 table). */export const CSS_SIZE={display:\"clamp(78px, min(48px + 3.175vw, 48px + 5.568vh), 120px)\",title:\"clamp(40px, min(24px + 1.587vw, 24px + 2.784vh), 60px)\",stageTitle:\"clamp(24px, min(14px + 0.926vw, 14px + 1.624vh), 35px)\",body:\"clamp(17px, min(9.5px + 0.628vw, 9.5px + 1.102vh), 23.75px)\",control:\"clamp(15px, min(8px + 0.529vw, 8px + 0.928vh), 20px)\",caption:\"clamp(14px, min(7px + 0.463vw, 7px + 0.812vh), 17px)\",unit:\"clamp(7px, min(4px + 0.265vw, 4px + 0.464vh), 10px)\",sideMargin:\"max(48px, 6.35vw)\"};let _scale=1;let _scaleBound=false;let _scaleRaf=0;const _scaleSubs=new Set;function readScale(){if(typeof window===\"undefined\")return 1;return scaleFor(window.innerWidth,window.innerHeight);}function bindScale(){if(_scaleBound||typeof window===\"undefined\")return;_scaleBound=true;_scale=readScale();window.addEventListener(\"resize\",()=>{if(_scaleRaf)return;_scaleRaf=requestAnimationFrame(()=>{_scaleRaf=0;const n=readScale();if(Math.abs(n-_scale)>5e-4){_scale=n;_scaleSubs.forEach(f=>f());}});},{passive:true});}/** The page's scale factor s, read once per resize and shared by every part. 1 on the Framer canvas. */export function useScale(){const isStatic=useIsStaticRenderer();const[s,setS]=useState(1);useEffect(()=>{if(isStatic)return;bindScale();setS(_scale);const f=()=>setS(_scale);_scaleSubs.add(f);return()=>{_scaleSubs.delete(f);};},[isStatic]);return s;}// ------------------------------------------------------------------------------------------------------------\n// Liveness: on screen, tab visible, motion allowed\n// ------------------------------------------------------------------------------------------------------------\n/** Reduced motion, as a live subscription (THE-LIGHT: \"Reduced motion settles and stops; it does not freeze.\"). */export function useReducedMotion(){const[r,setR]=useState(false);useEffect(()=>{if(typeof window===\"undefined\"||!window.matchMedia)return;const mq=window.matchMedia(\"(prefers-reduced-motion: reduce)\");const on=()=>setR(mq.matches);on();if(mq.addEventListener)mq.addEventListener(\"change\",on);else mq.addListener(on);return()=>{if(mq.removeEventListener)mq.removeEventListener(\"change\",on);else mq.removeListener(on);};},[]);return r;}/**\n * A page video made in two sizes by tools/media/fit-video.py: `<name>-fitd.mp4` (desktops and tablets, at most 1440 px)\n * and `<name>-fitp.mp4` (phones, at most 900 px). Give a component the -fitd URL; this returns the -fitp one on a\n * screen under 810 px, so a phone never downloads the desktop's pixels. Any other URL is returned unchanged. Call it on\n * the client (in a player's src); on the server it returns the URL as given.\n * Any film with sizes in cap/MediaLadders.tsx (tools/media/ladder.py) gets its size from there instead, for the width it\n * is drawn at: half the window on a desktop (the split screen), the whole window on a phone. Every caller (a player, a\n * warm-up fetch, an engine's input) then asks for the same file, and the file as uploaded is never loaded (2026-10-22).\n */export function fitVideo(url){if(!url)return\"\";if(typeof window===\"undefined\")return url;const w=window.innerWidth;if(hasLadder(url))return pickMedia(url,Math.round((w<810?w:w/2)*(window.devicePixelRatio||1)));if(!/-fitd\\.mp4(\\?|$)/.test(url))return url;return w<810?url.replace(/-fitd\\.mp4(?=\\?|$)/,\"-fitp.mp4\"):url;}/** True while the element is near the viewport and the tab is visible. `seen` turns true once and stays. */export function useLive(ref,rootMargin=\"200px 0px\"){const[inView,setInView]=useState(false);const[seen,setSeen]=useState(false);const[visible,setVisible]=useState(true);useEffect(()=>{const el=ref.current;if(!el||typeof IntersectionObserver===\"undefined\"){setInView(true);setSeen(true);return;}const io=new IntersectionObserver(es=>{const v=es[es.length-1].isIntersecting;setInView(v);if(v)setSeen(true);},{rootMargin});io.observe(el);return()=>io.disconnect();},[ref,rootMargin]);useEffect(()=>{if(typeof document===\"undefined\")return;const on=()=>setVisible(!document.hidden);on();document.addEventListener(\"visibilitychange\",on);return()=>document.removeEventListener(\"visibilitychange\",on);},[]);return{live:inView&&visible,inView,seen};}/** The element's size, from a ResizeObserver. */export function useSize(ref){const[size,setSize]=useState({w:0,h:0});useIsoLayoutEffect(()=>{const el=ref.current;if(!el)return;const read=()=>{const w=el.offsetWidth;const h=el.offsetHeight;setSize(o=>Math.abs(o.w-w)<.5&&Math.abs(o.h-h)<.5?o:{w,h});};read();if(typeof ResizeObserver===\"undefined\")return;const ro=new ResizeObserver(read);ro.observe(el);return()=>ro.disconnect();},[ref]);return size;}const _frames=new Set;let _frameRaf=0;let _frameLast=0;function frameLoop(now){const dt=_frameLast?Math.min(.1,(now-_frameLast)/1e3):0;_frameLast=now;_frames.forEach(f=>{if(f(now,dt)===false)_frames.delete(f);});if(_frames.size>0)_frameRaf=requestAnimationFrame(frameLoop);else{_frameRaf=0;_frameLast=0;}}/** Subscribe to the shared frame loop. Returns the unsubscribe. */export function onFrame(f){_frames.add(f);if(!_frameRaf&&typeof window!==\"undefined\"){_frameLast=0;_frameRaf=requestAnimationFrame(frameLoop);}return()=>{_frames.delete(f);};}const nowMs=()=>typeof performance!==\"undefined\"?performance.now():Date.now();const clamp=(v,a,b)=>Math.max(a,Math.min(b,v));/** THE-LIGHT's Lorentzian: w^2 / (d^2 + w^2). */export const lor=(d,w)=>w*w/(d*d+w*w);/** THE-LIGHT's damped burst: 1 - e^(-3x) cos(2.2 pi x). Blooms past rest, settles. */export const burst=x=>x<=0?0:1-Math.exp(-3*x)*Math.cos(2.2*Math.PI*x);export const smooth=t=>{const x=clamp(t,0,1);return x*x*(3-2*x);};const inOut=t=>{const x=clamp(t,0,1);return x<.5?4*x*x*x:1-Math.pow(-2*x+2,3)/2;};const lightDpr=()=>typeof window===\"undefined\"?1:Math.min(2,window.devicePixelRatio||1);/** The beam's shape: the split (a share of the core's half width), the tail's strength and its width (in core widths). */export const BEAM={split:.22,tail:.2,tailW:5,gain:.85};/** The house beam's light at signed distance d from its core (0 to about 1.2 a channel). */export function beamRGB(d,w,flip=false){const sp=w*BEAM.split*(flip?-1:1);const r=lor(d-sp,w);const b=lor(d+sp,w);const g=Math.min(lor(d,w),Math.max(r,b));const t=BEAM.tail*lor(d,w*BEAM.tailW);return[r+t,g+t,b+t];}/** What a picture's pixel gives back under the beam (the LaserCut rule): its own colour, lit, over the sheet's density. */export function sheetLight(pixel,d,w,density=1,flip=false){const[r,g,b]=beamRGB(d,w,flip);const k=BEAM.gain/Math.max(1,density);return[pixel[0]*r*k,pixel[1]*g*k,pixel[2]*b*k];}/**\n * The beam as CSS gradient stops across [-span, +span] around its core, for a light drawn as a gradient (clipped to\n * glyphs with background-clip:text, or a band). `gain` scales it; `base` is the colour away from the beam (0 to 1 grey\n * level, e.g. the text's own), so the gradient is the text's colour with the beam passing through it.\n */export function beamStops(w,span,gain=1,base=0,n=36,flip=false){const out=[];for(let i=0;i<=n;i++){const t=i/n;const d=(t-.5)*2*span;const c=beamRGB(d,w,flip);const ch=v=>Math.round(255*clamp(base+(1-base)*v*gain,0,1));out.push(`rgb(${ch(c[0])},${ch(c[1])},${ch(c[2])}) ${(t*100).toFixed(2)}%`);}return out.join(\", \");}/** The same beam for shaders: houseBeam(d, w) and sheetBeam(pixel, d, w, density), identical to beamRGB / sheetLight. */export const BEAM_GLSL=`\nfloat kitBeamLor(float d, float w){ return w * w / (d * d + w * w); }\nvec3 houseBeam(float d, float w){\n  float sp = w * ${BEAM.split.toFixed(3)};\n  float r = kitBeamLor(d - sp, w);\n  float b = kitBeamLor(d + sp, w);\n  float g = min(kitBeamLor(d, w), max(r, b));\n  float t = ${BEAM.tail.toFixed(3)} * kitBeamLor(d, w * ${BEAM.tailW.toFixed(1)});\n  return vec3(r, g, b) + t;\n}\nvec3 sheetBeam(vec3 pix, float d, float w, float density){\n  return pix * houseBeam(d, w) * (${BEAM.gain.toFixed(3)} / max(1.0, density));\n}\n`;const _sprites=new Map;function win(u){const a=Math.abs(u);if(a<=.6)return 1;if(a>=1)return 0;const c=Math.cos((a-.6)/.4*(Math.PI/2));return c*c;}function lightSprite(wCss,hCss,dpr,f){const c=document.createElement(\"canvas\");const W=Math.max(1,Math.round(wCss*dpr));const H=Math.max(1,Math.round(hCss*dpr));c.width=W;c.height=H;const ctx=c.getContext(\"2d\");if(!ctx)return c;const img=ctx.createImageData(W,H);const d=img.data;for(let j=0;j<H;j++){const y=(j+.5)/dpr-hCss/2;for(let i=0;i<W;i++){const x=(i+.5)/dpr-wCss/2;const v=f(x,y);const r=Math.min(1,v[0]);const g=Math.min(1,v[1]);const b=Math.min(1,v[2]);const a=Math.max(r,g,b);const o=(j*W+i)*4;if(a<1/1024){d[o+3]=0;continue;}d[o]=r/a*255;d[o+1]=g/a*255;d[o+2]=b/a*255;d[o+3]=a*255;}}ctx.putImageData(img,0,0);return c;}/** The extent of the head sprite. \"quiet\" is the head for small UI (a pill, a link, a point): the same core and\n * the same split, with a smaller halo (THE-LIGHT: \"Less glow for quiet, dark places\"). */export function spriteExtent(s,quiet=false){return quiet?{HA:110*s,HC:36*s}:{HA:160*s,HC:64*s};}export function getSprites(dpr,s,quiet=false){const key=dpr.toFixed(2)+\":\"+s.toFixed(3)+(quiet?\":q\":\"\");const hit=_sprites.get(key);if(hit)return hit;const s2=s*s;const{HA,HC}=spriteExtent(s,quiet);const HL=12*s;const T=90*s;const ST=40*s;// The head at amplitude 1, stored at half intensity (drawn twice above 0.5).\nconst head=lightSprite(2*HA,2*HC,dpr,(x,y)=>{const cr2=y*y/(4.8*s2);const halo=quiet?.07/(1+(x*x+y*y)/(70*s2)):.2/(1+(x*x+y*y)/(260*s2));const hr=1/(1+(x+1.6*s)*(x+1.6*s)/(90*s2)+cr2);const hg=1/(1+x*x/(90*s2)+cr2);const hb=1/(1+(x-1.6*s)*(x-1.6*s)/(90*s2)+cr2);const w=.5*win(x/HA)*win(y/HC);return[(hr+halo)*w,(hg+halo)*w,(hb+halo)*w];});// The lit road behind the head: atan step (PrototypeLoop: trail * (0.5 - atan((al - head) / 3) / pi)).\nconst step=lightSprite(2*T,2*HL,dpr,(x,y)=>{const v=lor(y,.85*s)*(.5-Math.atan(x/(3*s))/Math.PI)*win(y/HL);return[v,v,v];});// The hairline's cross profile (PrototypeLoop: lor(cr, 0.85)), one device pixel wide, stretched along.\nconst col=lightSprite(1/dpr,2*HL,dpr,(_x,y)=>{const v=lor(y,.85*s)*win(y/HL);return[v,v,v];});// A reached stop (PrototypeLoop: level / (1 + (dd^2 + cr^2) / 6.5)).\nconst station=lightSprite(2*ST,2*ST,dpr,(x,y)=>{const r2=x*x+y*y;const v=1/(1+r2/(6.5*s2))*win(Math.sqrt(r2)/ST);return[v,v,v];});const sp={dpr,s,HA,HC,HL,T,ST,head,step,col,station};if(_sprites.size>8)_sprites.clear();_sprites.set(key,sp);return sp;}/** Draw lanes into a 2D context whose canvas is `dpr` device px per CSS px. (ox, oy) is the lanes' origin. */export function drawLanes(ctx,sp,lanes,ox,oy,vertical=false){const d=sp.dpr;ctx.globalCompositeOperation=\"lighter\";for(const ln of lanes){// Along runs on x (horizontal) or on y (vertical: the axes are swapped, which mirrors nothing that matters\n// because every sprite is symmetric across the line).\nif(vertical)ctx.setTransform(0,d,d,0,ox*d,oy*d);else ctx.setTransform(d,0,0,d,ox*d,oy*d);const len=ln.a1-ln.a0;if(len>0&&(ln.base>5e-4||ln.trail>5e-4)){ctx.save();ctx.beginPath();ctx.rect(ln.a0,ln.c-sp.HC,len,2*sp.HC);ctx.clip();if(ln.base>5e-4){ctx.globalAlpha=Math.min(1,ln.base);ctx.drawImage(sp.col,ln.a0,ln.c-sp.HL,len,2*sp.HL);}if(ln.trail>5e-4&&ln.head>ln.a0-sp.T){const x1=Math.min(ln.head-sp.T,ln.a1);ctx.globalAlpha=Math.min(1,ln.trail);if(x1>ln.a0)ctx.drawImage(sp.col,ln.a0,ln.c-sp.HL,x1-ln.a0,2*sp.HL);ctx.drawImage(sp.step,ln.head-sp.T,ln.c-sp.HL,2*sp.T,2*sp.HL);}ctx.restore();}for(const st of ln.stations){if(st.level<=.001)continue;ctx.globalAlpha=Math.min(1,st.level);ctx.drawImage(sp.station,st.at-sp.ST,ln.c-sp.ST,2*sp.ST,2*sp.ST);}if(ln.amp>.001){const a2=ln.amp*2;ctx.globalAlpha=Math.min(1,a2);ctx.drawImage(sp.head,ln.head-sp.HA,ln.c-sp.HC,2*sp.HA,2*sp.HC);if(a2>1){ctx.globalAlpha=Math.min(1,a2-1);ctx.drawImage(sp.head,ln.head-sp.HA,ln.c-sp.HC,2*sp.HA,2*sp.HC);}}}ctx.globalAlpha=1;ctx.globalCompositeOperation=\"source-over\";ctx.setTransform(1,0,0,1,0,0);}function sizeCanvas(cv,wCss,hCss,dpr){const w=Math.max(1,Math.round(wCss*dpr));const h=Math.max(1,Math.round(hCss*dpr));if(cv.width!==w||cv.height!==h){cv.width=w;cv.height=h;}const ctx=cv.getContext(\"2d\");if(ctx){ctx.setTransform(1,0,0,1,0,0);ctx.clearRect(0,0,w,h);}return ctx;}export function Road(props){const{roads,orientation=\"horizontal\",progress,value,onStop,ground=\"black\",replay=true,column=240,style}=props;const quiet=props.quiet!==false;const centreEnds=props.centreEnds===true;const{s,css,z}=useSz(props.s);const vertical=orientation===\"vertical\";const isStatic=useIsStaticRenderer();const reduced=useReducedMotion();const rootRef=useRef(null);const cvRef=useRef(null);const size=useSize(rootRef);const{live,inView}=useLive(rootRef);const n=roads.length;const control=typeof value===\"number\";const still=isStatic||reduced;// geometry (CSS px)\nconst pitch=50*s;const c0=33*s;const colW=column*s;const L=vertical?props.length??size.h:size.w;const a0=vertical?8*s:0;const a1=Math.max(a0+1,vertical?a0+Math.max(0,L-16*s):L);const boxH=vertical?props.length?props.length:undefined:c0+(n-1)*pitch+13*s;const boxW=vertical?n*colW:undefined;const crossOf=i=>vertical?6*s+i*colW:c0+i*pitch;const stopPos=(i,k)=>{const m=roads[i]?.stops.length??1;return m<=1?a0:a0+(a1-a0)*k/(m-1);};const E=useRef({arrivedFor:-1,t:0,doneAt:-1,reach:{},head0:0,from:0,to:0,moveT0:0,moveDur:0,restAt:-1,drawn:false});const[reached,setReached]=useState(()=>roads.map(()=>still?1e9:0));const[finished,setFinished]=useState(false);const finishedRef=useRef(false);// control mode: the stop the light has reached. The pill, the label's white and every caption that follows onArrive\n// move with the light, never ahead of it (D21: \"the light reaches the level before the pill does\").\nconst[arrivedStop,setArrivedStop]=useState(typeof value===\"number\"?value:-1);const reachedRef=useRef(reached);// Where each head is at time t (clock), or from `progress`, or (control mode) moving to `value`.\nconst headsAt=now=>{const e=E.current;const heads=[];let allDone=true;roads.forEach((r,i)=>{const m=r.stops.length;const last=clamp(r.stopAt??m-1,0,Math.max(0,m-1));const target=stopPos(i,last);let h;if(progress&&typeof progress[i]===\"number\"){h=Math.min(target,a0+(a1-a0)*clamp(progress[i],0,1));allDone=allDone&&h>=target-.5;}else if(control&&i===0){const k=clamp(e.moveDur>0?(now-e.moveT0)/1e3/e.moveDur:1,0,1);h=e.from+(e.to-e.from)*inOut(k);allDone=allDone&&k>=1;}else if(still){h=target;}else{const secs=Math.max(.05,r.seconds);h=Math.min(target,a0+(a1-a0)*Math.min(1,e.t/secs));allDone=allDone&&h>=target-.5;}heads.push(h);});return{heads,allDone};};const draw=now=>{const cv=cvRef.current;if(!cv||!(a1-a0>1))return false;const e=E.current;const dpr=lightDpr();const sp=getSprites(dpr,s,quiet);const padA=sp.HA;const padC=sp.HC;const W=vertical?(boxW??0)+2*padC:L+2*padA;const H=vertical?L+2*padA:(boxH??0)+2*padC;const ctx=sizeCanvas(cv,W,H,dpr);if(!ctx)return false;const{heads,allDone}=headsAt(now);if(allDone&&e.doneAt<0)e.doneAt=now;if(!allDone)e.doneAt=-1;const doneT=e.doneAt<0?-1:(now-e.doneAt)/1e3;const lanes=[];const newReached=[];let bursting=false;roads.forEach((r,i)=>{const m=r.stops.length;const bright=(r.tone??(i===n-1?\"bright\":\"dim\"))===\"bright\";const head=heads[i];let rc=0;const stations=[];for(let k=0;k<m;k++){const at=stopPos(i,k);const isReached=head>=at-.5;const key=i+\":\"+k;if(isReached){rc=k+1;if(e.reach[key]===undefined)e.reach[key]=still?now-5e3:now;}else delete e.reach[key];const tt=isReached?(now-e.reach[key])/1e3:0;if(isReached&&tt<1.4)bursting=true;const rest=bright?k===m-1?.85:.5:.22;stations.push({at,level:isReached?rest*(.55+.45*burst(tt/1.1)):0});}newReached.push(rc);let amp;if(control&&i===0){const moving=e.moveDur>0&&now-e.moveT0<e.moveDur*1e3;if(!moving&&e.arrivedFor!==value){e.arrivedFor=value;const cb=props.onArrive;const v=value;window.setTimeout(()=>{setArrivedStop(v);if(cb)cb(v);},0);}const restT=moving?0:(now-(e.moveT0+e.moveDur*1e3))/1e3;amp=moving?1:1-.55*smooth(restT/1.6);if(!moving&&restT<1.7)bursting=true;}else if(bright)amp=doneT<0?1:1-.7*smooth(doneT/2.2);else amp=.55*(doneT<0?1:1-.55*smooth(doneT/1.6));lanes.push({a0,a1,c:crossOf(i),head,amp,trail:bright?.3:.1,base:.05,stations});});drawLanes(ctx,sp,lanes,vertical?padC:padA,vertical?padA:padC,vertical);e.drawn=true;const changed=newReached.some((v,i)=>v!==reachedRef.current[i]);if(changed){reachedRef.current=newReached;setReached(newReached);}const fin=allDone&&doneT>.2;if(fin!==finishedRef.current){finishedRef.current=fin;setFinished(fin);}// keep going while anything moves or settles. With `progress` the heads move only when a new value arrives\n// (the effect below draws it and runs again), so a head resting short of its end is not movement: the loop\n// settles and stops like every other part of the kit.\nconst settling=doneT>=0&&doneT<2.4;const moving=progress?false:!allDone;return moving||settling||bursting;};// control mode: a new value starts a move from where the head is now\nuseEffect(()=>{if(!control)return;const e=E.current;const now=nowMs();const{heads}=headsAt(now);const to=stopPos(0,clamp(value,0,roads[0].stops.length-1));e.from=e.moveT0===0&&!e.drawn?to:heads[0];e.to=to;e.moveT0=now;const dist=Math.abs(e.to-e.from);const given=props.moveFor&&typeof props.moveFor[value]===\"number\"?props.moveFor[value]:-1;e.moveDur=still?0:dist<1?0:given>=0?given:.45+.7*dist/Math.max(1,a1-a0);e.arrivedFor=-1;// eslint-disable-next-line react-hooks/exhaustive-deps\n},[value,control,a0,a1]);// replay: reset while fully off screen, so nobody ever sees the loop restart\nuseEffect(()=>{if(!replay||inView||control||progress)return;const e=E.current;if(e.doneAt>=0||e.t>0){e.t=0;e.doneAt=-1;e.reach={};}},[inView,replay,control,progress]);// the loop\nuseEffect(()=>{if(!(a1-a0>1))return;if(still||!live){draw(nowMs());return;}let active=true;const unsub=onFrame((now,dt)=>{if(!active)return false;if(!control&&!progress)E.current.t+=dt;return draw(now);});return()=>{active=false;unsub();};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[live,still,a0,a1,s,n,control,value,progress&&progress.join(\",\"),boxW,boxH,L,quiet]);const labelSize=z(REF.selector);// D25: the labels are placed in CSS (a share of the road's length, sizes from the page's scale), so they stand where\n// they belong on the first paint; the light is drawn after mount from the measured length.\nconst zc=v=>css?cs(v):v*s;const alongCss=(i,k)=>{const m=roads[i]?.stops.length??1;const f=m<=1?0:k/(m-1);if(!vertical)return`${(f*100).toFixed(4)}%`;const u=v=>css?`(${v}px * var(--asm-s, 1))`:`${v*s}px`;return`calc(${u(8)} + (100% - ${u(16)}) * ${f.toFixed(5)})`;};const labels=roads.map((r,i)=>{const m=r.stops.length;const bright=(r.tone??(i===n-1?\"bright\":\"dim\"))===\"bright\";const rc=reached[i]??0;const lastIdx=clamp(r.stopAt??m-1,0,Math.max(0,m-1));return r.stops.map((word,k)=>{const at=stopPos(i,k);const last=k===m-1;const isReached=k<rc;const selected=control&&i===0&&k===arrivedStop;let color=K.grey;if(isReached)color=bright?\"#ffffff\":\"rgba(255,255,255,0.86)\";let opacity=1;let delay=0;if(r.fadeBeyond&&finished&&k>lastIdx&&!last){opacity=.24;delay=(k-lastIdx-1)*380;}const base={position:\"absolute\",fontFamily:K.body,fontWeight:last&&bright?600:500,fontSize:labelSize,lineHeight:zc(22),letterSpacing:\"-0.01em\",whiteSpace:\"nowrap\",color,opacity,transition:`color 700ms ${K.ease}, opacity 900ms ${K.ease} ${delay}ms`};const c=crossOf(i);// horizontal: a label is centred on its stop, so the light sits under the middle of the word (2026-09-30:\n// placed by its left edge, it stood half a word to the right of the light). The first and last labels keep\n// the road's edges unless centreEnds asks for them centred too.\nconst edge=!centreEnds&&(k===0||last);const pos=vertical?{left:zc(6+i*column+14),top:`calc(${alongCss(i,k)} - ${css?\"(11px * var(--asm-s, 1))\":11*s+\"px\"})`}:{top:zc(33+i*50-31),left:edge&&last?undefined:alongCss(i,k),right:edge&&last?0:undefined,transform:edge?undefined:\"translateX(-50%)\"};const inner=/*#__PURE__*/_jsxs(_Fragment,{children:[control&&i===0?/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":true,style:{position:\"absolute\",left:zc(-12),right:zc(-12),top:zc(-6),bottom:zc(-6),borderRadius:999,background:satinPill(ground),opacity:selected?1:0,transition:`opacity 400ms ${K.ease}`}}):null,/*#__PURE__*/_jsx(\"span\",{style:{position:\"relative\"},children:word})]});if(control&&i===0){return /*#__PURE__*/_jsx(RoadStopButton,{style:{...base,...pos},selected:selected,onClick:()=>onStop&&onStop(k),restColor:color,children:inner},i+\":\"+k);}return /*#__PURE__*/_jsx(\"span\",{style:{...base,...pos},children:inner},i+\":\"+k);});});const ext=spriteExtent(s,quiet);const padC=ext.HC;const padA=ext.HA;return /*#__PURE__*/_jsxs(\"div\",{ref:rootRef,role:control?\"tablist\":undefined,style:{position:\"relative\",width:vertical?zc(n*column):\"100%\",height:vertical?props.length?props.length:\"100%\":zc(33+(n-1)*50+13),...style},children:[/*#__PURE__*/_jsx(\"canvas\",{ref:cvRef,\"aria-hidden\":true,style:{position:\"absolute\",left:vertical?-padC:-padA,top:vertical?-padA:-padC,width:vertical?(boxW??0)+2*padC:L+2*padA,height:vertical?L+2*padA:(boxH??0)+2*padC,pointerEvents:\"none\"}}),labels]});}function RoadStopButton(props){const[hover,setHover]=useState(false);return /*#__PURE__*/_jsx(\"button\",{role:\"tab\",\"aria-selected\":props.selected,onClick:props.onClick,onMouseEnter:()=>setHover(true),onMouseLeave:()=>setHover(false),style:{...props.style,background:\"transparent\",border:0,padding:0,margin:0,cursor:\"pointer\",color:hover&&props.restColor===K.grey?K.hover:props.restColor},children:props.children});}/** D22 (b): no light on a button or a selector. */const SELECTOR_LIGHT_OFF=true;export function Selector(props){const{items,orientation=\"vertical\",ground=\"black\",advance=0,stopOnInteract=true,forceHover=-1,style}=props;const{s,z}=useSz(props.s);const horizontal=orientation===\"horizontal\";const isStatic=useIsStaticRenderer();const reduced=useReducedMotion();const rootRef=useRef(null);const cvRef=useRef(null);const btnRefs=useRef([]);const{live}=useLive(rootRef);const[inner,setInner]=useState(props.defaultValue??0);const controlled=typeof props.value===\"number\";const sel=clamp(controlled?props.value:inner,0,Math.max(0,items.length-1));const[stopped,setStopped]=useState(false);const[hover,setHover]=useState(-1);const[pill,setPill]=useState(null);const movedAt=useRef(0);const T=useRef({t:0});const select=useCallback((i,byUser)=>{if(byUser&&stopOnInteract)setStopped(true);if(!controlled)setInner(i);if(props.onChange)props.onChange(i);T.current.t=0;movedAt.current=nowMs();},// eslint-disable-next-line react-hooks/exhaustive-deps\n[controlled,stopOnInteract,props.onChange]);// measure the selected label to place the pill\nconst measure=useCallback(()=>{const b=btnRefs.current[sel];if(!b)return;const r={x:b.offsetLeft,y:b.offsetTop,w:b.offsetWidth,h:b.offsetHeight};setPill(o=>o&&Math.abs(o.x-r.x)<.5&&Math.abs(o.y-r.y)<.5&&Math.abs(o.w-r.w)<.5&&Math.abs(o.h-r.h)<.5?o:r);},[sel]);useIsoLayoutEffect(()=>{measure();},[measure,s,items.length]);useEffect(()=>{const el=rootRef.current;if(!el||typeof ResizeObserver===\"undefined\")return;const ro=new ResizeObserver(()=>measure());ro.observe(el);if(typeof document!==\"undefined\"&&document.fonts&&document.fonts.ready){document.fonts.ready.then(()=>measure());}return()=>ro.disconnect();},[measure]);useEffect(()=>{movedAt.current=nowMs();},[sel]);// time: the clock (advance) or the controlled progress\nconst running=!isStatic&&!reduced&&!stopped&&advance>0;const holdFor=props.holdFor&&props.holdFor>0?props.holdFor:0;// D22 (b): no light on a button or a selector (\"why is there a light traveling across the button\", 2026-09-25 14:08).\n// A light moves only because something happens to the object or the story. The advancing still works; nothing is\n// drawn under the pill. `holdFor` and `progress` are kept so no caller breaks; they no longer show anything.\n// Only an advancing selector keeps its clock (to move on by itself); nothing is drawn.\nconst showLight=!isStatic&&!reduced&&running&&live;const drawLight=(now,p)=>{if(SELECTOR_LIGHT_OFF)return;// D22 (b): the selector draws no light\nconst cv=cvRef.current;if(!cv||!pill)return;const dpr=lightDpr();const sp=getSprites(dpr,s,true);const r=pill.h/2;const len=Math.max(1,pill.w-2*r);const W=len+2*sp.HA;const H=2*sp.HC;const ctx=sizeCanvas(cv,W,H,dpr);if(!ctx)return;// the light waits for the pill to arrive (its move takes 450 ms), then runs along its bottom edge\nconst arrive=smooth((now-movedAt.current-380)/420);const head=len*clamp(p,0,1);drawLanes(ctx,sp,[{a0:0,a1:len,c:0,head,amp:.9*arrive,trail:.3*arrive,base:0,stations:[]}],sp.HA,sp.HC);};useEffect(()=>{if(!showLight){const cv=cvRef.current;if(cv)sizeCanvas(cv,1,1,1);return;}if(typeof props.progress===\"number\"){let active=true;const unsub=onFrame(now=>{if(!active)return false;drawLight(now,props.progress);return now-movedAt.current<900;});return()=>{active=false;unsub();};}let active=true;const unsub=onFrame((now,dt)=>{if(!active)return false;if(now-movedAt.current>380)T.current.t+=dt;if(holdFor>0&&!running){const p=T.current.t/holdFor;drawLight(now,Math.min(1,p));return p<1;}const p=T.current.t/advance;if(p>=1){select((sel+1)%Math.max(1,items.length),false);return true;}drawLight(now,p);return true;});return()=>{active=false;unsub();};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[showLight,advance,sel,pill,s,props.progress,items.length,holdFor,props.holdKey]);useEffect(()=>{T.current.t=0;movedAt.current=nowMs();},[props.holdKey]);// fixes0929 B17: one selector size, 17 x s, for the horizontal tabs too (they were at the control size, 16 x s);\n// D10: never under the page's smallest text (14 px, 15 on the phone)\nconst fs=textMin(z(REF.selector));const rowH=z(horizontal?REF.barH:REF.rowH);const padX=z(16);const onKey=e=>{const next=horizontal?\"ArrowRight\":\"ArrowDown\";const prev=horizontal?\"ArrowLeft\":\"ArrowUp\";if(e.key===next||e.key===prev){e.preventDefault();const i=(sel+(e.key===next?1:-1)+items.length)%items.length;select(i,true);const b=btnRefs.current[i];if(b)b.focus();}};const pillEl=pill?/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":true,style:{position:\"absolute\",left:0,top:0,width:pill.w,height:pill.h,transform:`translate(${pill.x}px, ${pill.y}px)`,borderRadius:999,background:satinPill(ground),boxShadow:\"inset 0 1px 0 rgba(255,255,255,0.06)\",transition:isStatic?undefined:`transform 450ms ${K.ease}, width 450ms ${K.ease}`,pointerEvents:\"none\"}}):null;const sp=spriteExtent(s,true);const lightEl=pill&&!SELECTOR_LIGHT_OFF?/*#__PURE__*/_jsx(\"canvas\",{ref:cvRef,\"aria-hidden\":true,style:{position:\"absolute\",left:pill.x+pill.h/2-sp.HA,top:pill.y+pill.h-sp.HC,width:Math.max(1,pill.w-pill.h)+2*sp.HA,height:2*sp.HC,pointerEvents:\"none\",opacity:showLight?1:0,transition:\"opacity 300ms linear\"}}):null;const buttons=items.map((it,i)=>{const selected=i===sel;const hovered=!selected&&(i===hover||i===forceHover);const btn=/*#__PURE__*/_jsx(\"button\",{ref:el=>{btnRefs.current[i]=el;},role:\"tab\",\"aria-selected\":selected,tabIndex:selected?0:-1,// fixes0929 D9: a 44 px hit area on the phone and on touch (PHONE_CSS), the row's size unchanged\nclassName:\"asm-hit\",onClick:()=>select(i,true),onMouseEnter:()=>setHover(i),onMouseLeave:()=>setHover(-1),style:{position:\"relative\",zIndex:1,// a vertical list's row may wrap onto a second line where its column is narrow (a phone), rather\n// than run past the screen's edge; where it fits it is one line at the row's height, as before\nheight:horizontal?rowH:\"auto\",minHeight:rowH,paddingTop:horizontal?0:z(6),paddingBottom:horizontal?0:z(6),paddingLeft:padX,paddingRight:padX,margin:0,border:0,borderRadius:999,// until the pill is measured (after mount), the chosen item carries the satin itself: the same look\n// from the first paint, nothing appears later\nbackground:selected&&!pill?satinPill(ground):\"transparent\",cursor:\"pointer\",fontFamily:K.body,fontWeight:500,fontSize:fs,letterSpacing:\"-0.01em\",whiteSpace:horizontal?\"nowrap\":\"normal\",textAlign:\"left\",lineHeight:1.25,color:selected?\"#ffffff\":hovered?K.hover:K.grey,transition:`color 300ms ${K.ease}`,display:\"flex\",alignItems:\"center\",gap:z(8)},children:it.label},\"b\"+i);if(horizontal){return it.status?/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\"},children:[btn,/*#__PURE__*/_jsx(StatusPill,{text:it.status,ground:ground,s:s,compact:true,style:{marginRight:z(6),position:\"relative\",zIndex:1}})]},\"r\"+i):btn;}return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:z(10)},children:[btn,it.status?/*#__PURE__*/_jsx(StatusPill,{text:it.status,ground:ground,s:s}):null]},\"r\"+i);});if(horizontal){return /*#__PURE__*/_jsxs(\"div\",{ref:rootRef,role:\"tablist\",\"aria-orientation\":\"horizontal\",onKeyDown:onKey,style:{position:\"relative\",display:\"inline-flex\",alignItems:\"center\",gap:z(2),padding:z(4),borderRadius:999,background:ground===\"slate\"?\"rgba(0,0,0,0.30)\":\"rgba(255,255,255,0.045)\",boxShadow:\"inset 0 0 0 1px rgba(255,255,255,0.06)\",...style},children:[pillEl,lightEl,buttons]});}return /*#__PURE__*/_jsxs(\"div\",{ref:rootRef,role:\"tablist\",\"aria-orientation\":\"vertical\",onKeyDown:onKey,style:{position:\"relative\",display:\"flex\",flexDirection:\"column\",alignItems:\"flex-start\",gap:z(REF.rowGap),...style},children:[pillEl,lightEl,buttons]});}// The owner's DitheredGradient layouts (BLOBS_DEFAULT, BLOBS_BIG_CANVAS, BLOBS_TALL), luminance 20 to 50 on black.\nconst SATIN={default:[{x:.2,y:0,rgb:[40,40,40],o:.5,r:.3},{x:1.25,y:.7,rgb:[30,30,30],o:.6,r:.5},{x:0,y:.9,rgb:[50,50,50],o:.5,r:.5},{x:.8,y:.3,rgb:[30,30,30],o:.5,r:.3}],wide:[{x:.71,y:.42,rgb:[40,40,40],o:.54,r:.38},{x:.52,y:.17,rgb:[30,30,30],o:.6,r:.46},{x:.05,y:.07,rgb:[50,50,50],o:.36,r:.27},{x:1,y:.87,rgb:[30,30,30],o:.57,r:.35}],tall:[{x:.15,y:0,rgb:[40,40,40],o:.5,r:.3},{x:1.25,y:.7,rgb:[30,30,30],o:.6,r:.25},{x:0,y:.65,rgb:[50,50,50],o:.5,r:.35},{x:.8,y:1.35,rgb:[30,30,30],o:.5,r:.3}]};function hexToRgb(hex){if(!hex)return null;let h=hex.trim();const m=/^rgba?\\((\\d+)[, ]+(\\d+)[, ]+(\\d+)/i.exec(h);if(m)return[+m[1],+m[2],+m[3]];if(h.startsWith(\"#\"))h=h.slice(1);if(h.length===3)h=h[0]+h[0]+h[1]+h[1]+h[2]+h[2];if(h.length===8)h=h.slice(0,6);if(h.length!==6||!/^[0-9a-f]{6}$/i.test(h))return null;const n=parseInt(h,16);return[n>>16&255,n>>8&255,n&255];}/** Luminance-preserving tint (DitheredGradient's blobColor): the hue at each blob's own brightness. */function tintBlobs(blobs,tint){const c=hexToRgb(tint);if(!c)return blobs;const mx=Math.max(c[0],c[1],c[2]);if(mx<=0)return blobs;return blobs.map(b=>{const lum=(b.rgb[0]+b.rgb[1]+b.rgb[2])/3;return{...b,rgb:[Math.round(c[0]/mx*lum),Math.round(c[1]/mx*lum),Math.round(c[2]/mx*lum)]};});}const BAYER4=[[0,8,2,10],[12,4,14,6],[3,11,1,9],[15,7,13,5]];const _satinCache=new Map;function idle(f){const w=window;if(typeof w.requestIdleCallback===\"function\")return w.requestIdleCallback(f,{timeout:300});return window.setTimeout(f,16);}function cancelIdle(h){const w=window;if(typeof w.cancelIdleCallback===\"function\")w.cancelIdleCallback(h);window.clearTimeout(h);}/** Paint the satin (additive Gaussian blobs, 4x4 Bayer dither) in idle-time chunks. Returns a cancel. */function paintSatin(w,h,blobs,done){const key=`${w}x${h}:${JSON.stringify(blobs)}`;const hit=_satinCache.get(key);if(hit){done(hit);return()=>{};}const img=new ImageData(w,h);const d=img.data;const diag=Math.sqrt(w*w+h*h);const bp=blobs.map(b=>({cx:b.x*w,cy:b.y*h,r2:diag*b.r*(diag*b.r),rgb:b.rgb,o:b.o}));let y=0;let cancelled=false;let handle=0;const step=()=>{if(cancelled)return;const t0=nowMs();while(y<h&&nowMs()-t0<8){const rowBlobs=bp.map(b=>({b,dy2:(y-b.cy)*(y-b.cy)})).filter(q=>q.dy2/q.b.r2<=4);for(let x=0;x<w;x++){let r=0;let g=0;let bl=0;for(const q of rowBlobs){const dx=x-q.b.cx;const dist2=(dx*dx+q.dy2)/q.b.r2;if(dist2>4)continue;const k=Math.exp(-2*dist2)*q.b.o;r+=q.b.rgb[0]*k;g+=q.b.rgb[1]*k;bl+=q.b.rgb[2]*k;}const dither=(BAYER4[y&3][x&3]/16-.5)*2;const o=(y*w+x)*4;d[o]=Math.min(255,Math.max(0,Math.round(r+dither)));d[o+1]=Math.min(255,Math.max(0,Math.round(g+dither)));d[o+2]=Math.min(255,Math.max(0,Math.round(bl+dither)));d[o+3]=255;}y++;}if(y<h)handle=idle(step);else{if(_satinCache.size>6){const first=_satinCache.keys().next().value;if(first)_satinCache.delete(first);}_satinCache.set(key,img);done(img);}};handle=idle(step);return()=>{cancelled=true;cancelIdle(handle);};}const _meanCache=new Map;/** The mean colour of what a picture shows (its near-black background skipped), for the satin's cast. */export function useMeanColor(src){const[c,setC]=useState(src?_meanCache.get(src):undefined);useEffect(()=>{if(!src||typeof window===\"undefined\")return;const hit=_meanCache.get(src);if(hit){setC(hit);return;}let dead=false;const img=new Image;img.crossOrigin=\"anonymous\";img.decoding=\"async\";img.onload=()=>{if(dead)return;try{const cv=document.createElement(\"canvas\");cv.width=32;cv.height=32;const ctx=cv.getContext(\"2d\");if(!ctx)return;ctx.drawImage(img,0,0,32,32);const d=ctx.getImageData(0,0,32,32).data;let r=0;let g=0;let b=0;let k=0;for(let i=0;i<d.length;i+=4){if(Math.max(d[i],d[i+1],d[i+2])<40)continue;r+=d[i];g+=d[i+1];b+=d[i+2];k++;}if(k===0)return;const hex=\"#\"+[r/k,g/k,b/k].map(v=>Math.round(v).toString(16).padStart(2,\"0\")).join(\"\");_meanCache.set(src,hex);setC(hex);}catch(e){// a picture without CORS leaves the satin neutral\n}};img.src=src;return()=>{dead=true;};},[src]);return c;}/** The satin surface alone, absolutely filling its parent. */export function SatinPlate(props){const{preset=\"default\",radius=0,glass=false,style}=props;const isStatic=useIsStaticRenderer();const cvRef=useRef(null);const mean=useMeanColor(props.tintFrom);const tint=props.tint??mean;const blobs=useMemo(()=>tintBlobs(SATIN[preset]??SATIN.default,tint),[preset,tint]);const hash=JSON.stringify(blobs);const[ready,setReady]=useState(false);useEffect(()=>{const cv=cvRef.current;if(!cv||isStatic||typeof window===\"undefined\")return;let cancel=()=>{};let timer=0;let lastKey=\"\";const run=()=>{// one satin pixel per CSS pixel: the dither is +-1 of 255 on near black, invisible at any density,\n// and a 2x canvas would cost four times the memory for nothing a person can see\nconst dpr=1;const w=Math.round(cv.offsetWidth*dpr);const h=Math.round(cv.offsetHeight*dpr);if(w<2||h<2)return;const key=`${w}x${h}:${hash}`;if(key===lastKey)return;lastKey=key;cancel();cancel=paintSatin(w,h,blobs,img=>{if(cv.width!==w||cv.height!==h){cv.width=w;cv.height=h;}const ctx=cv.getContext(\"2d\",{alpha:false});if(ctx)ctx.putImageData(img,0,0);setReady(true);});};run();let ro=null;if(typeof ResizeObserver!==\"undefined\"){ro=new ResizeObserver(()=>{window.clearTimeout(timer);timer=window.setTimeout(run,150);});ro.observe(cv);}return()=>{cancel();window.clearTimeout(timer);if(ro)ro.disconnect();};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[hash,isStatic]);const b0=blobs[2]??blobs[0];const approx=b0?`radial-gradient(ellipse ${Math.round(b0.r*160)}% ${Math.round(b0.r*160)}% at ${b0.x*100}% ${b0.y*100}%, rgba(${b0.rgb.join(\",\")},${b0.o}) 0%, #000 70%)`:undefined;return /*#__PURE__*/_jsxs(\"div\",{\"aria-hidden\":true,style:{position:\"absolute\",inset:0,borderRadius:radius,overflow:\"hidden\",background:\"#000\",backgroundImage:isStatic?approx:undefined,pointerEvents:\"none\",...style},children:[isStatic?null:/*#__PURE__*/_jsx(\"canvas\",{ref:cvRef,style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",opacity:ready?1:0,transition:\"opacity 600ms ease-out\",imageRendering:\"pixelated\"}}),glass?/*#__PURE__*/_jsx(GlassEdge,{blobs:blobs}):null]});}function GlassEdge({blobs}){const glowRadius=55;const mask=(radiusOf,stops)=>blobs.map(b=>`radial-gradient(ellipse ${radiusOf(b).toFixed(1)}% ${radiusOf(b).toFixed(1)}% at ${(b.x*100).toFixed(1)}% ${(b.y*100).toFixed(1)}%, ${stops(b)})`).join(\", \");const soft=mask(b=>glowRadius*b.r*1.4,b=>`rgba(0,0,0,${Math.min(1,b.o*1.28).toFixed(2)}) 0%, rgba(0,0,0,${Math.min(1,b.o*.44).toFixed(2)}) 30%, rgba(0,0,0,${Math.min(1,b.o*.08).toFixed(2)}) 65%, transparent 100%`);const sharp=mask(()=>glowRadius*.6,b=>`rgba(0,0,0,${Math.min(1,b.o*1.5).toFixed(2)}) 0%, rgba(0,0,0,${Math.min(1,b.o*.75).toFixed(2)}) 40%, transparent 100%`);const layer={position:\"absolute\",inset:0,borderRadius:\"inherit\",pointerEvents:\"none\"};return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:{...layer,boxShadow:\"inset 0 0 0 1px rgba(255,255,255,0.09)\"}}),/*#__PURE__*/_jsx(\"div\",{style:{...layer,boxShadow:\"inset 0 0 12px 1px rgba(255,255,255,0.2), inset 0 0 35px 5px rgba(255,255,255,0.096)\",WebkitMaskImage:soft,maskImage:soft}}),/*#__PURE__*/_jsx(\"div\",{style:{...layer,boxShadow:\"inset 0 0 0 1.5px rgba(255,255,255,0.55)\",WebkitMaskImage:sharp,maskImage:sharp}})]});}/**\n * The soft light from above on the hero (design-per-component 1: \"The object stands on black under a soft top light,\n * as on his home hero\"). One wide light centred above the frame, painted with the owner's DitheredGradient algorithm\n * (additive Gaussian, 4 x 4 Bayer dither) so its ramp on near black never bands. It is a light on the ground, not the\n * satin card: no plate, no edge, and it fades to pure black. Absolutely fills its parent.\n */export function TopLight(props){const{strength=.55,reach=.42,style}=props;const isStatic=useIsStaticRenderer();const cvRef=useRef(null);const[ready,setReady]=useState(false);useEffect(()=>{const cv=cvRef.current;if(!cv||isStatic||typeof window===\"undefined\")return;let cancel=()=>{};let timer=0;let lastKey=\"\";const run=()=>{// painted at half the CSS size: a light this soft has no detail to lose, and the dither is kept crisp by\n// the pixelated upscale\nconst w=Math.max(2,Math.round(cv.offsetWidth/2));const h=Math.max(2,Math.round(cv.offsetHeight/2));const key=`${w}x${h}:${strength}:${reach}`;if(key===lastKey)return;lastKey=key;cancel();const aspect=w/h;cancel=paintSatin(w,h,[{x:.5,y:-.18,rgb:[46,46,46],o:strength,r:reach/Math.max(1,Math.sqrt(1+1/(aspect*aspect)))*1.4}],img=>{cv.width=w;cv.height=h;const ctx=cv.getContext(\"2d\",{alpha:false});if(ctx)ctx.putImageData(img,0,0);setReady(true);});};run();let ro=null;if(typeof ResizeObserver!==\"undefined\"){ro=new ResizeObserver(()=>{window.clearTimeout(timer);timer=window.setTimeout(run,200);});ro.observe(cv);}return()=>{cancel();window.clearTimeout(timer);if(ro)ro.disconnect();};},[isStatic,strength,reach]);return /*#__PURE__*/_jsx(\"canvas\",{ref:cvRef,\"aria-hidden\":true,style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",pointerEvents:\"none\",imageRendering:\"pixelated\",opacity:ready?1:0,transition:\"opacity 900ms ease-out\",background:\"#000\",// the fresh review F2: its box's left and right edges showed as two vertical lines (0 to 4 of 255 at the\n// edge); the light now reaches black before them\nWebkitMaskImage:\"linear-gradient(90deg, transparent 0%, #000 24%, #000 76%, transparent 100%)\",maskImage:\"linear-gradient(90deg, transparent 0%, #000 24%, #000 76%, transparent 100%)\",...style}});}/**\n * The stage: where the object stands. D22 (a), the owner, 2026-09-25 14:08 (verbatim file): \"THE WHOLE PURPOSE OF HAVING\n * THE 3D MODELS HAVE NO BACKGROUND IS SO THE MODEL LOOKS WITHIUT BACKGROUND, IF OYU PUT IT IN A GRAY BACKGROUND THEN IT\n * DOENS TLOOK LIKE THE 3D MODEL IS THERE PART OF THE PAGE IT ADDS A VISIBLE FRAME.\" So the stage draws nothing: the object\n * stands on the page's own ground, on black as on slate. On slate a model needs real transparency (a turntable rendered\n * with an alpha channel, or a live 3D view); the black key only where its edges are clean; until then its section is\n * black. `plate` draws the satin behind something that is not a model (a UI), and only when asked.\n */export function Stage(props){const{children,style}=props;const sAuto=useScale();const s=props.s??sAuto;const radius=props.radius??px(24,s);if(!props.plate){return /*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",...style},children:children});}return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",borderRadius:radius,isolation:\"isolate\",...style},children:[/*#__PURE__*/_jsx(SatinPlate,{preset:props.preset,tint:props.tint,tintFrom:props.tintFrom,radius:radius,glass:props.glass}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\"},children:children})]});}let _keySeq=0;/** A stable id for an SVG filter, the same on the server and in the browser. */export function useKeyId(){const R=React;const rid=typeof R.useId===\"function\"?R.useId():undefined;const fallback=useRef(\"\");if(!rid&&!fallback.current)fallback.current=\"k\"+ ++_keySeq;return\"asmkey\"+(rid||fallback.current).replace(/[^A-Za-z0-9_-]/g,\"\");}/**\n * The black key (D15; THE-LIGHT: \"Light and darkness, premultiplied: RGB is light, alpha is darkness\"). The pipeline's\n * pictures and films stand on a pure black background (measured on the staff's previews: 0 of 255, while the darkest\n * part of an object sits at 12 to 16). The key keeps every colour as it is and makes alpha 0 on that background and 1\n * from 6 of 255 up, so on the satin the background gives way and the object keeps its own true blacks (the \"lighten\"\n * blend it replaces lifted them to the satin's 20 to 50). Render <BlackKey id=.../> once and give the media\n * `filter: url(#id)`.\n */export function BlackKey(props){return /*#__PURE__*/_jsx(\"svg\",{\"aria-hidden\":true,width:\"0\",height:\"0\",style:{position:\"absolute\",width:0,height:0,overflow:\"hidden\",pointerEvents:\"none\"},children:/*#__PURE__*/_jsx(\"filter\",{id:props.id,colorInterpolationFilters:\"sRGB\",x:\"0\",y:\"0\",width:\"100%\",height:\"100%\",children:/*#__PURE__*/_jsx(\"feColorMatrix\",{type:\"matrix\",values:\"1 0 0 0 0  0 1 0 0 0  0 0 1 0 0  12.05 40.55 4.09 0 -0.334\"})})});}/**\n * A picture or film from the pipeline (black background) standing on a stage. On the satin the black key lets the\n * background give way while the object keeps its true blacks; on black it stands as it is.\n */export function StageMedia(props){const{src,ground=\"slate\",fit=\"contain\",alt=\"\",poster,style}=props;const keyId=useKeyId();const video=/\\.(mp4|webm|mov|m4v)(\\?|#|$)/i.test(src);const keyed=ground===\"slate\";const common={position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:fit,filter:keyed?`url(#${keyId})`:undefined,...style};return /*#__PURE__*/_jsxs(_Fragment,{children:[keyed?/*#__PURE__*/_jsx(BlackKey,{id:keyId}):null,video?/*#__PURE__*/_jsx(FitVideo,{src:src,poster:poster,muted:true,playsInline:true,autoPlay:true,loop:true,style:common}):/*#__PURE__*/_jsx(\"img\",{src:src,alt:alt,decoding:\"async\",style:common})]});}/** true in Safari and in every browser on iPhone and iPad (all WebKit), which play HEVC with alpha and not VP9 alpha */export function useAppleAlpha(){const[apple,setApple]=useState(false);useEffect(()=>{if(typeof navigator===\"undefined\")return;const ua=navigator.userAgent||\"\";const ios=/iPhone|iPad|iPod/.test(ua)||/Macintosh/.test(ua)&&navigator.maxTouchPoints>1;const safari=/AppleWebKit/.test(ua)&&!/Chrome|Chromium|Edg\\/|OPR\\/|Firefox/.test(ua);setApple(ios||safari);},[]);return apple;}export function AlphaFilm(props){const{webm,hevc,poster,fit=\"contain\",play=true,alt=\"\",style}=props;const isStatic=useIsStaticRenderer();const reduced=useReducedMotion();const apple=useAppleAlpha();const rootRef=useRef(null);const vref=useRef(null);const{live,inView}=useLive(rootRef);const[near,setNear]=useState(false);const[hasFrame,setHasFrame]=useState(false);useEffect(()=>{if(inView)setNear(true);},[inView]);const src=apple?hevc||\"\":webm;const still=isStatic||reduced||!src;// a film whose data arrived before the page came alive never fires its event: ask it (the hydration rule)\nuseEffect(()=>{const v=vref.current;if(!v)return;if(v.readyState>=2)setHasFrame(true);if(live&&play&&!still)v.play().catch(()=>{});else v.pause();},[live,play,still,src,near]);const fill={position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:fit};return /*#__PURE__*/_jsxs(\"div\",{ref:rootRef,style:{position:\"relative\",...style},children:[poster?/*#__PURE__*/_jsx(\"img\",{\"data-sd-seen\":\"1\",src:poster,alt:alt,decoding:\"async\",style:{...fill,opacity:still||!hasFrame?1:0,transition:\"opacity 400ms ease-out\"}}):null,!still?/*#__PURE__*/_jsx(FitVideo,{ref:vref,\"data-sd-seen\":\"1\",src:near?src:undefined,muted:true,playsInline:true,loop:true,preload:\"metadata\",onLoadedData:()=>setHasFrame(true),\"aria-hidden\":poster?true:undefined,style:{...fill,opacity:hasFrame?1:0,transition:\"opacity 400ms ease-out\"}},src):null]});}/**\n * Fills its box with the change of ground from `from` (top) to `to` (bottom), eased, with a 4x4 Bayer dither so an\n * 8-bit ramp from #000 to #1d1d1f never shows its 29 steps. Place it behind the first screen of a new group\n * (100% wide, 100vh tall, absolutely positioned under that screen's component); the lift is then complete when that\n * screen's content is in place. D21 (c): never a separate empty band between groups.\n */export function GroundLift(props){const{from=K.black,to=K.slate,style}=props;const ref=useRef(null);const size=useSize(ref);const[url,setUrl]=useState(null);const a=hexToRgb(from)??[0,0,0];const b=hexToRgb(to)??[29,29,31];useEffect(()=>{const H=Math.round(size.h);if(!(H>1)||typeof document===\"undefined\")return;const cv=document.createElement(\"canvas\");cv.width=4;cv.height=H;const ctx=cv.getContext(\"2d\");if(!ctx)return;const img=ctx.createImageData(4,H);const d=img.data;for(let y=0;y<H;y++){const t=smooth(y/Math.max(1,H-1));for(let x=0;x<4;x++){const dither=BAYER4[y&3][x]/16-.5;const o=(y*4+x)*4;for(let c=0;c<3;c++)d[o+c]=clamp(Math.round(a[c]+(b[c]-a[c])*t+dither),0,255);d[o+3]=255;}}ctx.putImageData(img,0,0);setUrl(cv.toDataURL(\"image/png\"));// eslint-disable-next-line react-hooks/exhaustive-deps\n},[size.h,a.join(\",\"),b.join(\",\")]);return /*#__PURE__*/_jsx(\"div\",{ref:ref,\"aria-hidden\":true,style:{position:\"relative\",width:\"100%\",height:\"100%\",background:url?undefined:`linear-gradient(${from}, ${to})`,backgroundImage:url?`url(${url})`:undefined,backgroundRepeat:\"repeat-x\",backgroundSize:url?`4px ${Math.round(size.h)}px`:undefined,imageRendering:\"pixelated\",...style}});}/**\n * The owner's own Chat Modal, the literal component, scaled by s. It types only once it is on screen, and types\n * again when the text changes.\n */export function TextBar(props){const{text,chip,typing=true,style}=props;const{s,css}=useSz(props.s);const ref=useRef(null);const{seen}=useLive(ref,\"0px 0px -15% 0px\");const isStatic=useIsStaticRenderer();const withChip=!!chip;const empty=!withChip&&!(text&&text.trim());// his variants: \"Variant 3\" (with the chip), \"Text with no chip typing\", \"Text with no chip Empty\"\nconst baseW=withChip||empty?380:359;const baseH=withChip||empty?110:158;// his bar at its own size, zoomed as a whole (CSS zoom scales its layout): the page's scale times width / his width\nconst f=(props.width??baseW)/baseW;const zoom=css?`calc(${S_VAR} * ${f.toFixed(4)})`:s*f;// the owner's chip rises 40 px above the bar (his Variant 3): its room is kept inside this part's box\nconst chipRoom=withChip?44:0;const show=isStatic||seen;return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{position:\"relative\",width:baseW,height:baseH+chipRoom,zoom,...style},children:show?/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:0,top:chipRoom,width:baseW,height:baseH},children:/*#__PURE__*/_jsx(OwnerChatModal,{variant:withChip?\"Variant 3\":empty?\"Text with no chip Empty\":\"Text with no chip typing\",modalText:text,descriptionChip:chip??\"\",noAnimation:!typing||isStatic,style:{width:baseW,height:baseH}},text+\"|\"+(chip??\"\"))}):null});}function useActionState(force){const[hover,setHover]=useState(false);const[down,setDown]=useState(false);const state=force??(down?\"pressed\":hover?\"hover\":\"rest\");const handlers={onMouseEnter:()=>setHover(true),onMouseLeave:()=>{setHover(false);setDown(false);},onMouseDown:()=>setDown(true),onMouseUp:()=>setDown(false)};return{state,handlers};}function Chevron({size,color,style}){return /*#__PURE__*/_jsx(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",\"aria-hidden\":true,style:{flex:\"none\",...style},children:/*#__PURE__*/_jsx(\"path\",{d:\"M9 6l6 6-6 6\",stroke:color,strokeWidth:2,strokeLinecap:\"round\",strokeLinejoin:\"round\"})});}function ActionShell(props){const{href,onClick,newTab,forceState}=props;const{state,handlers}=useActionState(forceState);const st={...props.styleFor(state),...props.style};if(href){return /*#__PURE__*/_jsx(\"a\",{href:href,target:newTab?\"_blank\":undefined,rel:newTab?\"noopener\":undefined,onClick:onClick,...handlers,style:st,children:props.children(state)});}return /*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:onClick,...handlers,style:st,children:props.children(state)});}/**\n * Filled white pill, black text. One per screen at most.\n * fixes0929 A5 (2026-09-29): it is the height of the owner's pill beside it (SecondaryButton: his 49 px at its own\n * size, zoomed by BUTTON_ZOOM), so two doors side by side are one height: 49 x s, never under 44 px; on the phone\n * 45.9 px with 15 px words. Before, it was 44 x s (39 px at 1349 beside his 44).\n */export function PrimaryButton(props){const{s,css}=useSz(props.s);const bz=ref=>css?`calc(${ref}px * ${BUTTON_ZOOM})`:px(ref,Math.max(s,BUTTON_ZOOM_MIN));return /*#__PURE__*/_jsx(ActionShell,{...props,styleFor:st=>({position:\"relative\",display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",height:bz(49),paddingLeft:bz(22),paddingRight:bz(22),borderRadius:999,border:0,margin:0,cursor:\"pointer\",textDecoration:\"none\",whiteSpace:\"nowrap\",fontFamily:K.body,fontWeight:500,fontSize:bz(REF.control),letterSpacing:\"-0.01em\",color:\"#000000\",background:st===\"pressed\"?\"#d2d2d7\":st===\"hover\"?\"#ffffff\":K.text,transform:st===\"pressed\"?\"scale(0.98)\":\"none\",transition:`background 200ms ${K.ease}, transform 200ms ${K.ease}`}),children:()=>props.label});}/**\n * The secondary button is the owner's own Button (his \"Primary \" variant: the dark pill with a chevron of his home's\n * \"Try for free ›\"), imported, never copied (D15). His variant is a fixed 219 x 49 pill whose content does not pad\n * itself, so this part measures the words and keeps his 219 px unless they need more; the whole button is scaled by s.\n * Its hover is his own (it cannot be forced from outside, so the sheet shows it only under the pointer).\n */export function SecondaryButton(props){const{s,css}=useSz(props.s);// His button is its own lazily loaded module, so on a page rendered on the server it hydrates on its own, after\n// ours. Any new prop it receives before then makes React throw its server HTML away (React #421, a flicker). So its\n// width is worked out from the words, the same on the server and in the browser (Inter 500 at 16 px is about 8.9 px\n// a character, plus his 64 px of padding and chevron; his own 219 px is the minimum), never measured after mount,\n// and the element is built once per label, width and link, with a click that never changes identity.\n// 2026-09-25 (the fresh review F6): his label is set at the kit's one control size, 16, like the primary button and\n// the text link; it was 14.\nconst W=Math.max(219,Math.ceil((props.label||\"\").length*8.9+64));const clickRef=useRef(props.onClick);clickRef.current=props.onClick;const click=useCallback(()=>{if(clickRef.current)clickRef.current();},[]);const button=useMemo(()=>/*#__PURE__*/_jsx(OwnerButton,{variant:\"Primary \",text:props.label,iconName:\"chevron-right\",iconVisibility:true,fontSize:REF.control,link:props.href,click:props.onClick?click:undefined,style:{width:W,height:49}}),// eslint-disable-next-line react-hooks/exhaustive-deps\n[props.label,props.href,W,!!props.onClick]);return(// fixes0929 A5: zoomed by BUTTON_ZOOM (the page's scale, never under 44 / 49; 15 / 16 on the phone), the white\n// pill's zoom too, so the two are one height\n/*#__PURE__*/_jsx(\"span\",{style:{position:\"relative\",display:\"inline-block\",flex:\"none\",width:W,height:49,zoom:css?BUTTON_ZOOM:Math.max(s,BUTTON_ZOOM_MIN),...props.style},children:/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",left:0,top:0,width:W,height:49},children:button})}));}/**\n * Formerly the kit's satin look-alike of his Button. D21 (b): the satin pill means \"selected\" and nothing else, so a\n * compact action is now the text link (the owner's \"Button Text\" variant over the kit's hairline). The name is kept so\n * every page that used it changes with the kit. A primary door is PrimaryButton (the white pill, one per screen); a\n * proof on a stage is his Button (SecondaryButton).\n */export function SatinButton(props){return /*#__PURE__*/_jsx(TextLink,{...props});}/**\n * The text link: the owner's own Button in his \"Button Text\" variant (his words and his chevron, no fill), imported\n * (D15), over the kit's hairline; on hover the line light passes once along the hairline (design-system 2.2).\n */export function TextLink(props){const{s,css,z}=useSz(props.s);const{handlers}=useActionState(props.forceState);// His button hydrates on its own after ours (a separate module), so it gets props that never change after the first\n// render: his 16 px at the reference, zoomed as a whole by the page's scale (D25: CSS, so it is right on the first\n// paint), and a click whose identity never changes. Any new prop before it hydrates makes React throw its server HTML\n// away (React #421, a flicker). D22 (b): no light on a button; the hairline under it stands still.\nconst clickRef=useRef(props.onClick);clickRef.current=props.onClick;const click=useCallback(()=>{if(clickRef.current)clickRef.current();},[]);const button=useMemo(()=>/*#__PURE__*/_jsx(OwnerButton,{variant:\"Button Text\",text:props.label,iconName:\"chevron-right\",iconVisibility:true,fontSize:REF.control,link:props.href,click:props.onClick?click:undefined}),// eslint-disable-next-line react-hooks/exhaustive-deps\n[props.label,props.href,!!props.onClick]);// fixes0929 D9 (2026-09-29): on the phone and on touch the link answers in a 44 px area around it (`asm-hit`, the\n// link's look and place unchanged). A tap there, off his button's own words, is handed to his link.\nconst wrapRef=useRef(null);const onWrapClick=useCallback(e=>{const t=e.target;if(t&&typeof t.closest===\"function\"&&t.closest(\"a,button\"))return;const inner=wrapRef.current?wrapRef.current.querySelector(\"a,button\"):null;if(inner)inner.click();},[]);return /*#__PURE__*/_jsxs(\"span\",{ref:wrapRef,className:\"asm-hit\",...handlers,onClick:onWrapClick,style:{position:\"relative\",display:\"inline-block\",flex:\"none\",paddingBottom:z(10),...props.style},children:[/*#__PURE__*/_jsx(\"span\",{style:{position:\"relative\",display:\"inline-block\",whiteSpace:\"nowrap\",zoom:css?BUTTON_ZOOM:Math.max(s,BUTTON_ZOOM_MIN)},children:button}),/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":true,style:{position:\"absolute\",left:0,right:0,bottom:z(4),height:1,background:\"rgba(255,255,255,0.12)\",pointerEvents:\"none\"}})]});}/**\n * A status (\"Coming soon.\" and the like): grey words with no fill, after the name or the title it belongs to (D21 b).\n * The satin pill means \"selected\" and nothing else, so a status is never a pill; say it once per group, never repeated\n * down a list. The name stays StatusPill so every page that uses it changes with the kit.\n */export function StatusPill(props){const{z}=useSz(props.s);const{compact=false}=props;return /*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-flex\",alignItems:\"center\",fontFamily:K.body,fontWeight:500,// fixes0929 D10: never under the page's smallest text (14 px, 15 on the phone)\nfontSize:textMin(z(compact?13:REF.status,13)),letterSpacing:\"-0.005em\",color:K.grey,whiteSpace:\"nowrap\",flex:\"none\",...props.style},children:props.text});}/** The same part under its plain name. */export const Status=StatusPill;// ------------------------------------------------------------------------------------------------------------\n// Caption and annotation\n// ------------------------------------------------------------------------------------------------------------\n/** Under media: 14 px (never smaller), grey, left-aligned to the media's edge. */export function Caption(props){const{z}=useSz(props.s);return /*#__PURE__*/_jsx(\"p\",{style:{margin:0,fontFamily:K.body,fontWeight:500,// fixes0929 D10: 15 px on the phone (the page's smallest text)\nfontSize:textMin(z(REF.caption,14)),lineHeight:1.45,letterSpacing:\"-0.005em\",color:K.grey,maxWidth:\"34em\",...props.style},children:props.text});}/**\n * A label on the object: a small point of light on it (the line light's head at rest, leaning warm on one side and\n * cool on the other, breathing about ten percent at 0.08 Hz), a 1 px hairline to the label, and the label.\n * Absolutely fills its parent (the stage). Only on media.\n */export function Annotation(props){const{x,y,labelX,labelY,lead,rest}=props;const sAuto=useScale();const s=props.s??sAuto;const boxRef=useRef(null);const cvRef=useRef(null);const size=useSize(boxRef);const{live,seen}=useLive(boxRef,\"0px 0px -10% 0px\");const isStatic=useIsStaticRenderer();const reduced=useReducedMotion();const P={x:x/100*size.w,y:y/100*size.h};const Lp={x:labelX/100*size.w,y:labelY/100*size.h};const ang=Math.atan2(Lp.y-P.y,Lp.x-P.x);const dist=Math.hypot(Lp.x-P.x,Lp.y-P.y);// the canvas holds the whole rotated head, so its light never ends on the canvas edge\nconst R=spriteExtent(s*.8,true).HA;const[t,setT]=useState(isStatic?1:0);// the point arrives with the damped burst, then the hairline, then the label\nuseEffect(()=>{if(isStatic||reduced){setT(1);return;}if(!seen)return;const t0=nowMs();let active=true;const unsub=onFrame(now=>{if(!active)return false;const k=(now-t0)/1600;setT(Math.min(1,k));return k<1;});return()=>{active=false;unsub();};},[seen,isStatic,reduced]);useEffect(()=>{const cv=cvRef.current;if(!cv)return;const dpr=lightDpr();const sp=getSprites(dpr,s*.8,true);const ctx=sizeCanvas(cv,2*R,2*R,dpr);if(!ctx)return;const amp=.62*burst(Math.min(1,t/.45)*1.2);// the head at rest, oriented along the hairline\nctx.save();ctx.globalCompositeOperation=\"lighter\";const ca=Math.cos(ang)*dpr;const sa=Math.sin(ang)*dpr;ctx.setTransform(ca,sa,-sa,ca,R*dpr,R*dpr);const a2=amp*2;ctx.globalAlpha=Math.min(1,a2);ctx.drawImage(sp.head,-sp.HA,-sp.HC,2*sp.HA,2*sp.HC);if(a2>1){ctx.globalAlpha=Math.min(1,a2-1);ctx.drawImage(sp.head,-sp.HA,-sp.HC,2*sp.HA,2*sp.HC);}ctx.restore();},[t,ang,s,R]);const lineK=smooth((t-.25)/.45);const labelK=smooth((t-.6)/.4);const fs=px(REF.caption,s,14);const right=Lp.x>=P.x;return /*#__PURE__*/_jsxs(\"div\",{ref:boxRef,style:{position:\"absolute\",inset:0,pointerEvents:\"none\",...props.style},children:[size.w>0?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"svg\",{width:size.w,height:size.h,style:{position:\"absolute\",left:0,top:0,overflow:\"visible\"},\"aria-hidden\":true,children:/*#__PURE__*/_jsx(\"line\",{x1:P.x,y1:P.y,x2:P.x+(Lp.x-P.x)*lineK,y2:P.y+(Lp.y-P.y)*lineK,stroke:\"rgba(255,255,255,0.35)\",strokeWidth:1,vectorEffect:\"non-scaling-stroke\",shapeRendering:\"geometricPrecision\"})}),/*#__PURE__*/_jsx(\"canvas\",{ref:cvRef,\"aria-hidden\":true,className:\"asm-kit-breathe\",style:{position:\"absolute\",left:P.x-R,top:P.y-R,width:2*R,height:2*R,animationPlayState:live&&!reduced?\"running\":\"paused\"}}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",left:right?Lp.x+px(8,s):undefined,right:right?undefined:size.w-Lp.x+px(8,s),top:Lp.y-fs*.72,maxWidth:Math.max(160,size.w*.42),fontFamily:K.body,fontWeight:500,fontSize:fs,lineHeight:1.45,letterSpacing:\"-0.005em\",textAlign:right?\"left\":\"right\",opacity:labelK,transform:`translateY(${(1-labelK)*4*s}px)`},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:\"#ffffff\"},children:lead}),rest?/*#__PURE__*/_jsxs(\"span\",{style:{color:K.grey},children:[\" \",rest]}):null]})]}):null,/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:`@keyframes asmKitBreathe{0%{opacity:1}50%{opacity:.9}100%{opacity:1}}.asm-kit-breathe{animation:asmKitBreathe 12.5s ease-in-out infinite}`}})]});}// ------------------------------------------------------------------------------------------------------------\n// Type (design-system 2.2): display, title, stage title, lead + body\n// ------------------------------------------------------------------------------------------------------------\n/** Design-system 2.2, \"The display is for a name; a sentence takes the title size\" (builder 2's rule, accepted by the\n *  lead, 2026-09-25): a text in a display slot longer than this many characters is set as the title. */export const DISPLAY_MAX_CHARS=24;/** True when the text is short enough for the display (a name or a figure: \"Create.\", \"Evolve.\", \"10,000,000+\"). */export function fitsDisplay(text){return(text||\"\").trim().length<=DISPLAY_MAX_CHARS;}/**\n * The letters' room (fixes0929, \"Titles and edges\"; the titles-clipping scout's method, the same as ShineWordmark's).\n * Letters painted by their background (background-clip: text, transparent fill) exist only inside their own box, so a\n * part of a letter outside the box is not drawn: a g's tail under a short line box, an accent above it, the last letter\n * under tight tracking. `glyphRoom` gives the box GLYPH_ROOM_Y above and below and GLYPH_ROOM_X at each side as padding,\n * taken back by an equal negative margin, so nothing around it moves (`extraBottom` keeps a bottom padding the box\n * already had). `roomStop` places a gradient stop so each letter keeps the colour it had in the box without the room,\n * for a linear gradient at any angle: the gradient's line grows by the room projected on its direction, and the stop\n * moves to t x 100% less (t - 0.5) x that growth.\n */export const GLYPH_ROOM_Y=.14;export const GLYPH_ROOM_X=.08;export function glyphRoom(extraBottom=0){return{padding:`${GLYPH_ROOM_Y}em ${GLYPH_ROOM_X}em ${+(GLYPH_ROOM_Y+extraBottom).toFixed(4)}em`,margin:`-${GLYPH_ROOM_Y}em -${GLYPH_ROOM_X}em`};}export function roomStop(t,angleDeg=180){const a=angleDeg*Math.PI/180;const grow=2*GLYPH_ROOM_X*Math.abs(Math.sin(a))+2*GLYPH_ROOM_Y*Math.abs(Math.cos(a));const d=(t-.5)*grow;return`calc(${+(t*100).toFixed(4)}% ${d>=0?\"-\":\"+\"} ${+Math.abs(d).toFixed(4)}em)`;}/** K.metallic with its stops placed for a box carrying glyphRoom (the same colours on the same letters) */export const METALLIC_ROOM=`linear-gradient(181deg, rgb(255, 255, 255) ${roomStop(0,181)}, rgb(79, 79, 89) ${roomStop(.9937,181)})`;/** 96 px at the reference, 600, the owner's metallic gradient. At most one per screen. A text longer than\n *  DISPLAY_MAX_CHARS is set as the Title instead (white, 48 at the reference); the caller's size and gradient\n *  overrides are dropped for it, its other styles (margins, width) kept. */export function Display(props){const{z}=useSz(props.s);if(!fitsDisplay(props.text)){const{fontSize:_fs,lineHeight:_lh,letterSpacing:_ls,backgroundImage:_bi,WebkitBackgroundClip:_wbc,backgroundClip:_bc,WebkitTextFillColor:_wtf,color:_c,paddingBottom:_pb,...rest}=props.style||{};return /*#__PURE__*/_jsx(Title,{statement:(props.text||\"\").trim(),s:props.s,align:props.align,style:rest});}return /*#__PURE__*/_jsx(\"h2\",{style:{margin:0,fontFamily:K.head,fontWeight:600,fontSize:z(REF.display),lineHeight:1,letterSpacing:\"-0.03em\",textAlign:props.align??\"left\",// the letters' room (glyphRoom): the box used to end 0.196 em under the baseline (line height 1 plus\n// 0.06 em) where a g needs 0.216, and 0.864 em above it where an É needs 0.939; the 0.06 em it had at\n// the bottom is kept inside the room, so the Display's height is unchanged\n...glyphRoom(.06),backgroundImage:METALLIC_ROOM,WebkitBackgroundClip:\"text\",backgroundClip:\"text\",WebkitTextFillColor:\"transparent\",color:\"transparent\",...props.style},children:props.text});}/**\n * Long titles. 2026-09-29 (fixes0929 A2 and B17): a section title is never made smaller for its length. Every section\n * title is the one size, 48 x s (42.72 px at 1349, 48 at 1512; 34 px on the phone, PHONE_CSS), and a long one wraps.\n * Before, from the fresh review F4 (2026-09-25), a title kept 48 up to 50 characters and stepped down to 30 at 140, so\n * the page's section titles came in six sizes (29.7 to 42.7 px at 1349). The three constants stay for the record and\n * for any caller that names them; `titleSizeFor` now returns its base.\n */export const TITLE_LONG_FROM=50;export const TITLE_LONG_TO=140;export const TITLE_MIN=30;export function titleSizeFor(chars,base=REF.title){void chars;return base;}/**\n * The measure for a title's column, at the reference (px). A component that sets its words column should give a long\n * title this much room: up to 90 characters 520, up to 140 600, beyond that 680. The kit cannot widen a component's\n * column itself, so each component applies it (for example `width: cs(titleMeasureFor(n))`).\n */export function titleMeasureFor(chars){return chars<=90?520:chars<=140?600:680;}/** 48 px at the reference, 600; the statement white, its continuation grey. One per screen. One size at any length\n *  (titleSizeFor, above). A section title (40 or more, with no size of the caller's own in `style`) carries `asm-kt`:\n *  34 px and left on the phone (PHONE_CSS). */export function Title(props){const{z}=useSz(props.s);const chars=((props.statement||\"\")+\" \"+(props.continuation||\"\")).trim().length;const size=titleSizeFor(chars,props.size??REF.title);const section=size>=40&&!(props.style&&props.style.fontSize!==undefined);return /*#__PURE__*/_jsxs(\"h2\",{className:section?\"asm-kt\":undefined,style:{margin:0,fontFamily:K.head,fontWeight:600,fontSize:z(size),lineHeight:size<40?1.1:1.05,letterSpacing:\"-0.025em\",textAlign:props.align??\"left\",color:K.text,...{textWrap:\"balance\"},...props.style},children:[props.statement,props.continuation?/*#__PURE__*/_jsxs(\"span\",{style:{color:K.grey},children:[\" \",props.continuation]}):null]});}/** 28 px at the reference, 600, white: the name of what the stage shows now. Sits with its stage. */export function StageTitle(props){const{z}=useSz(props.s);return /*#__PURE__*/_jsx(\"h3\",{style:{margin:0,fontFamily:K.head,fontWeight:600,fontSize:z(REF.stageTitle),lineHeight:1.15,letterSpacing:\"-0.02em\",color:\"#ffffff\",...props.style},children:props.text});}/** 19 px at the reference, 500, line 1.45; the first sentence white, the rest grey; at most 34em. */export function Body(props){const{z}=useSz(props.s);return /*#__PURE__*/_jsxs(\"p\",{style:{margin:0,fontFamily:K.body,fontWeight:500,fontSize:z(REF.body),lineHeight:1.45,letterSpacing:\"-0.01em\",color:K.grey,maxWidth:\"34em\",...{textWrap:\"pretty\"},...props.style},children:[props.lead?/*#__PURE__*/_jsx(\"span\",{style:{color:K.text},children:props.lead}):null,props.lead&&props.rest?\" \":null,props.rest]});}// ------------------------------------------------------------------------------------------------------------\n// Property controls, so the parts can also be placed natively on a Framer page\n// ------------------------------------------------------------------------------------------------------------\nconst groundControl={type:ControlType.Enum,title:\"Ground\",options:[\"black\",\"slate\"],optionTitles:[\"Black\",\"Slate\"],defaultValue:\"black\",displaySegmentedControl:true};addPropertyControls(GroundLift,{from:{type:ControlType.Color,title:\"From\",defaultValue:K.black},to:{type:ControlType.Color,title:\"To\",defaultValue:K.slate}});addPropertyControls(SatinPlate,{preset:{type:ControlType.Enum,title:\"Layout\",options:[\"default\",\"wide\",\"tall\"],defaultValue:\"default\"},tint:{type:ControlType.Color,title:\"Tint\",optional:true},tintFrom:{type:ControlType.String,title:\"Tint from\",placeholder:\"Picture URL\",defaultValue:\"\"},radius:{type:ControlType.Number,title:\"Radius\",defaultValue:24,min:0,max:80},glass:{type:ControlType.Boolean,title:\"Glass edge\",defaultValue:false}});addPropertyControls(StatusPill,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"Status\"},ground:groundControl});addPropertyControls(PrimaryButton,{label:{type:ControlType.String,title:\"Label\",defaultValue:\"Label\"},href:{type:ControlType.Link,title:\"Link\"}});addPropertyControls(SecondaryButton,{label:{type:ControlType.String,title:\"Label\",defaultValue:\"Label\"},href:{type:ControlType.Link,title:\"Link\"},ground:groundControl});addPropertyControls(SatinButton,{label:{type:ControlType.String,title:\"Label\",defaultValue:\"Label\"},href:{type:ControlType.Link,title:\"Link\"},ground:groundControl});addPropertyControls(TextLink,{label:{type:ControlType.String,title:\"Label\",defaultValue:\"Label\"},href:{type:ControlType.Link,title:\"Link\"}});addPropertyControls(Caption,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"Caption\",displayTextArea:true}});addPropertyControls(TextBar,{text:{type:ControlType.String,title:\"Text\",defaultValue:\"Description\",displayTextArea:true},chip:{type:ControlType.String,title:\"Chip\",defaultValue:\"\"},typing:{type:ControlType.Boolean,title:\"Typing\",defaultValue:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"beamRGB\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BIG_A\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"METALLIC_ROOM\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Stage\":{\"type\":\"reactComponent\",\"name\":\"Stage\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"smooth\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BUTTON_ZOOM_PHONE\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RoadSpec\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PHONE_CSS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TopLight\":{\"type\":\"reactComponent\",\"name\":\"TopLight\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"SPLIT_COLUMNS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"REF\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TITLE_LONG_FROM\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BEAM\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useAppleAlpha\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Selector\":{\"type\":\"reactComponent\",\"name\":\"Selector\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"StageMedia\":{\"type\":\"reactComponent\",\"name\":\"StageMedia\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"cs\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"groundColor\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BUTTON_ZOOM\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PAGE_MARGIN\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Lane\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"burst\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useReducedMotion\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Body\":{\"type\":\"reactComponent\",\"name\":\"Body\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"BlackKey\":{\"type\":\"reactComponent\",\"name\":\"BlackKey\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"SCALE_CSS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"KIT_FONT_CSS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"StatusPillProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Ground\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"GLYPH_ROOM_X\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ActionProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getSprites\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fitsDisplay\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TextLink\":{\"type\":\"reactComponent\",\"name\":\"TextLink\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"GroundLiftProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"scaleFor\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"AlphaFilm\":{\"type\":\"reactComponent\",\"name\":\"AlphaFilm\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"DISPLAY_MAX_CHARS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useSize\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RoadProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SelectorProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"GroundLift\":{\"type\":\"reactComponent\",\"name\":\"GroundLift\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"useScale\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PrimaryButton\":{\"type\":\"reactComponent\",\"name\":\"PrimaryButton\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"spriteExtent\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"glyphRoom\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SecondaryButton\":{\"type\":\"reactComponent\",\"name\":\"SecondaryButton\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"SPLIT_GAP\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Sprites\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"StageTitle\":{\"type\":\"reactComponent\",\"name\":\"StageTitle\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Title\":{\"type\":\"reactComponent\",\"name\":\"Title\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"titleMeasureFor\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"AlphaFilmProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BUTTON_ZOOM_MIN\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SatinPlate\":{\"type\":\"reactComponent\",\"name\":\"SatinPlate\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"sheetLight\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Road\":{\"type\":\"reactComponent\",\"name\":\"Road\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Caption\":{\"type\":\"reactComponent\",\"name\":\"Caption\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"BEAM_GLSL\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BIG_MAX\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"STAGE_CARD\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"lor\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useKeyId\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TEXT_MIN\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SatinPlateProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Status\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"titleSizeFor\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SatinButton\":{\"type\":\"reactComponent\",\"name\":\"SatinButton\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"AnnotationProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"textMin\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TITLE_MIN\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TITLE_LONG_TO\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TextBar\":{\"type\":\"reactComponent\",\"name\":\"TextBar\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"drawLanes\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Display\":{\"type\":\"reactComponent\",\"name\":\"Display\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMeanColor\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"K\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CSS_SIZE\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"KitScale\":{\"type\":\"reactComponent\",\"name\":\"KitScale\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"useLive\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SelectorItem\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fullBelowA\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fitVideo\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"S_STEP\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RGB\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"onFrame\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Annotation\":{\"type\":\"reactComponent\",\"name\":\"Annotation\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"S_VAR\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"StatusPill\":{\"type\":\"reactComponent\",\"name\":\"StatusPill\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"satinPill\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"px\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"GLYPH_ROOM_Y\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"StageProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TextBarProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"roomStop\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SatinPreset\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"beamStops\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Kit.map"],"mappings":"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"}