{"version":3,"file":"Kit.FX9BxmlI.mjs","names":["_Fragment","useState","useRef","useCallback","useMemo","React","OwnerChatModal","OwnerButton","useLayoutEffect","useEffect","__exportAll","ne","init_npm_react_18_3_1","init_ssg_sandbox_shims","pe","le","navigator","window","_e","de","l","npm_react_18_3_1_exports","c","init_jsx_runtime","ce","withCSS","addPropertyControls","useIsStaticRenderer","ControlType","init_framer_CaDWdxiz","init_CapStore","init_JEDUaw0PO","frameLoop","FramerFtid_eTUK","init_Ftid_eTUK","deviceTier","FitVideo","FramerJEDUaw0PO","pickMedia","init_Chat_Modal_ixhy","__esmMin","init_Button_cCIb","Kit_exports","AlphaFilm","Annotation","BEAM","BEAM_GLSL","BIG_A","BUTTON_ZOOM","BUTTON_ZOOM_MIN","BUTTON_ZOOM_PHONE","BlackKey","Body","CSS_SIZE","Caption","Display","GLYPH_ROOM_X","GLYPH_ROOM_Y","GroundLift","K","KIT_FONT_CSS","KitScale","METALLIC_ROOM","PAGE_MARGIN","PHONE_CSS","PrimaryButton","REF","Road","SCALE_CSS","SPLIT_COLUMNS","SPLIT_GAP","STAGE_CARD","S_STEP","S_VAR","SatinButton","SatinPlate","SecondaryButton","Selector","Stage","StageMedia","StageTitle","Status","StatusPill","TEXT_MIN","TextBar","TextLink","Title","TopLight","__FramerMetadata__","beamRGB","beamStops","burst","cs","cssRules","drawLanes","fitVideo","fitsDisplay","fullBelowA","getSprites","glyphRoom","groundColor","lor","nearStir","onFrame","pageStyle","px","roomStop","satinPill","scaleFor","sheetLight","smooth","spriteExtent","textMin","titleMeasureFor","titleSizeFor","useAppleAlpha","useKeyId","useKitNear","useLive","useMeanColor","useReducedMotion","useScale","useSize","ensureFonts","st","bigScreensOn","fullBelowAOn","r2","x","W","v","H","w","h","s","i","r","raw","big","out","f","scaleCss","ref","floor","depth","start","quote","css","e","rule","tail","PageStyle","id","firstOnPage","_firstOnPage","_firstOnPageClear","first","FONT_INTER_TIGHT","FONT_INTER","KitCss","useSz","sAuto","sProp","readScale","bindScale","_scaleBound","kitNextFrame","scaleCheck","n","_scale","_scaleSubs","isStatic","setS","setR","mq","on","url","hasLadder","inView","setInView","seen","setSeen","visible","setVisible","el","io","es","rootMargin","size","setSize","useIsoLayoutEffect","read","o","ro","nearOf","was","vw","vh","dv","dh","d","nearCheck","_kitNext","_near","nearKick","NEAR_AWAKE_MS","_nearTimer","nearTick","_nearUntil","nearShown","near","setNear","NEAR_INPUT","t","_nearRo","releaseCanvas","cv","kitTick","jobs","_frames","dt","_frameLast","now","kitLoop","_kitLoop","sp","flip","b","g","k","density","pixel","span","ch","clamp","base","gain","win","a","u","lightSprite","wCss","dpr","hCss","ctx","img","j","y","quiet","key","hit","_sprites","s2","HL","T","ST","HA","HC","cr2","halo","hr","hg","hb","ln","lanes","vertical","ox","oy","len","x1","a2","sizeCanvas","props","centreEnds","orientation","reduced","rootRef","cvRef","roads","control","value","still","pitch","c0","colW","column","L","a0","a1","boxH","boxW","crossOf","stopPos","m","E","reached","setReached","finished","setFinished","finishedRef","arrivedStop","setArrivedStop","reachedRef","headsAt","heads","allDone","last","target","progress","inOut","secs","draw","lightDpr","padA","padC","doneT","newReached","bursting","bright","head","rc","stations","at","isReached","tt","rest","amp","moving","cb","restT","fin","nowMs","to","dist","given","replay","active","loop","labelSize","z","zc","alongCss","labels","lastIdx","selected","color","opacity","delay","edge","pos","inner","ground","word","RoadStopButton","onStop","ext","style","hover","setHover","horizontal","btnRefs","setInner","controlled","sel","items","stopped","setStopped","pill","setPill","movedAt","select","byUser","stopOnInteract","measure","running","advance","holdFor","showLight","live","wait","fired","fs","rowH","padX","onKey","next","prev","pillEl","buttons","hovered","forceHover","btn","it","hexToRgb","hex","tintBlobs","tint","blobs","mx","lum","idle","cancelIdle","paintSatin","_satinCache","done","diag","bp","cancelled","handle","step","t0","rowBlobs","q","bl","dx","dist2","dither","BAYER4","setC","src","_meanCache","dead","mean","SATIN","preset","hash","shown","setShown","painted","cancel","timer","lastKey","run","sync","b0","approx","radius","glass","GlassEdge","mask","radiusOf","stops","soft","sharp","layer","strength","reach","aspect","R","rid","fallback","_keySeq","keyId","video","keyed","common","fit","apple","setApple","ua","ios","safari","vref","hasFrame","setHasFrame","hevc","webm","play","fill","poster","setUrl","from","withChip","chip","empty","text","baseW","baseH","zoom","chipRoom","show","typing","useActionState","down","setDown","force","ActionShell","forceState","state","href","newTab","handlers","bz","clickRef","click","button","wrapRef","onWrapClick","compact","boxRef","P","Lp","labelX","labelY","ang","setT","ca","sa","lineK","labelK","right","lead","BreatheCss","extraBottom","angleDeg","grow","_fs","_lh","_ls","_bi","_wbc","_bc","_wtf","_c","_pb","chars","section","LATIN","groundControl","init_Kit","\"exports\"","\"K\"","\"type\"","\"annotations\"","\"framerContractVersion\"","\"titleSizeFor\"","\"SelectorItem\"","\"Body\"","\"name\"","\"slots\"","\"StageProps\"","\"Road\"","\"PrimaryButton\"","\"useMeanColor\"","\"RGB\"","\"TITLE_MIN\"","\"StatusPillProps\"","\"TITLE_LONG_TO\"","\"STAGE_CARD\"","\"DISPLAY_MAX_CHARS\"","\"Selector\"","\"Stage\"","\"useKeyId\"","\"fitVideo\"","\"Sprites\"","\"textMin\"","\"beamRGB\"","\"drawLanes\"","\"beamStops\"","\"METALLIC_ROOM\"","\"AnnotationProps\"","\"REF\"","\"RoadProps\"","\"fullBelowA\"","\"roomStop\"","\"getSprites\"","\"pageStyle\"","\"RoadSpec\"","\"BUTTON_ZOOM_MIN\"","\"SCALE_CSS\"","\"S_VAR\"","\"BlackKey\"","\"onFrame\"","\"TextLink\"","\"useAppleAlpha\"","\"KIT_FONT_CSS\"","\"groundColor\"","\"useScale\"","\"S_STEP\"","\"BUTTON_ZOOM\"","\"SatinPreset\"","\"useKitNear\"","\"TEXT_MIN\"","\"TextBar\"","\"glyphRoom\"","\"SPLIT_GAP\"","\"Caption\"","\"Status\"","\"useLive\"","\"nearStir\"","\"AlphaFilm\"","\"SatinPlate\"","\"GroundLift\"","\"GLYPH_ROOM_X\"","\"AlphaFilmProps\"","\"PHONE_CSS\"","\"Ground\"","\"px\"","\"CSS_SIZE\"","\"BEAM\"","\"SPLIT_COLUMNS\"","\"titleMeasureFor\"","\"SelectorProps\"","\"useReducedMotion\"","\"PAGE_MARGIN\"","\"spriteExtent\"","\"SatinButton\"","\"scaleFor\"","\"StageMedia\"","\"TITLE_LONG_FROM\"","\"cs\"","\"StatusPill\"","\"KitScale\"","\"Display\"","\"BUTTON_ZOOM_PHONE\"","\"BIG_MAX\"","\"cssRules\"","\"ActionProps\"","\"burst\"","\"BEAM_GLSL\"","\"sheetLight\"","\"StageTitle\"","\"TextBarProps\"","\"SecondaryButton\"","\"smooth\"","\"SatinPlateProps\"","\"Lane\"","\"lor\"","\"BIG_A\"","\"GroundLiftProps\"","\"GLYPH_ROOM_Y\"","\"satinPill\"","\"Title\"","\"TopLight\"","\"useSize\"","\"Annotation\"","\"fitsDisplay\"","\"__FramerMetadata__\""],"sources":["https:/framer.com/m/Chat-Modal-ixhy.js","https:/framer.com/m/Button-cCIb.js","https:/framerusercontent.com/modules/ceLqdgsWq97YSuxuxJxP/yKOXbJeYrjVA6ng3NLsl/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,withCSS}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,frameLoop,deviceTier}from\"https://framerusercontent.com/modules/A03zkAaMuSAW3jgsfsHj/3UINyekOqM3v0U23yyUO/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 CapStore's frame loop (the page's one), 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. The\n * kit asks for no frame of its own (job H3, 2026-10-22): its one-frame jobs (a resize's scale, a scroll's near check)\n * run on that loop too. `onFrame` is kept for its older callers and runs wherever its caller is, on screen or not: new\n * code calls CapStore's `frameLoop(<its element>, tick)` instead. The kit's page pieces: `pageStyle(id, css)` (fixed\n * CSS once per page), `useKitNear` (a canvas costly to make: made within one window, let go beyond 1.5) and\n * `nearStir()` (a piece that moves a track by itself tells the near check).\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\"};// ------------------------------------------------------------------------------------------------------------\n// CSS once per page (performance job C, 2026-10-22)\n// ------------------------------------------------------------------------------------------------------------\n/**\n * A stylesheet split into its top-level rules, one string each. Framer's withCSS inserts the rules one by one in the\n * browser (insertRule takes exactly one rule) and splits a string at its line breaks, which one-line CSS has none of; so\n * the CSS is handed over already split. Braces inside quotes and comments are skipped.\n */export function cssRules(css){const out=[];let depth=0;let start=0;let quote=\"\";for(let i=0;i<css.length;i++){const c=css[i];if(quote){if(c===\"\\\\\")i++;else if(c===quote)quote=\"\";continue;}if(c==='\"'||c===\"'\")quote=c;else if(c===\"/\"&&css[i+1]===\"*\"){const e=css.indexOf(\"*/\",i+2);i=e<0?css.length:e+1;}else if(c===\"{\")depth++;else if(c===\"}\"||c===\";\"&&depth===0){if(c===\"}\")depth--;if(depth===0){const rule=css.slice(start,i+1).trim();if(rule&&rule!==\";\")out.push(rule);start=i+1;}}}const tail=css.slice(start).trim();if(tail)out.push(tail);return out;}/**\n * CSS written once per page, not once per instance (performance job C, 2026-10-22; REPORT.md section 6: /asm-2's HTML\n * carried the kit's CSS 25 times and the preview player's 21 times, /asm-2/research the kit's 45 times).\n *\n * Call it once, at module level, with an id no other CSS uses; render the component it returns where the `<style>` was:\n *     const PlayerCss = pageStyle(\"cap-pp\", PLAYER_CSS)          // module level\n *     ... <PlayerCss /> ...                                       // inside the component, renders nothing\n * It is Framer's own withCSS: while the server renders a page, Framer collects the CSS of every component it meets,\n * once per id, into the one `<style data-framer-css-ssr-minified>` in the page's head (the owner's Button, used inside\n * the kit, already reaches the published pages this way: framer-nB7iB), so the CSS is in the HTML before the first\n * paint, outside every breakpoint copy, and never removed with one. In the browser, an id already in that style is\n * skipped; anywhere else (a page reached by a link inside the site, the canvas) its rules are inserted once into the\n * head when the first instance mounts. The CSS must not depend on the instance (it is written once for all of them);\n * per-instance values go in inline styles or CSS variables on the instance.\n */export function pageStyle(id,css){const PageStyle=()=>null;PageStyle.displayName=`PageStyle(${id})`;return withCSS(PageStyle,cssRules(css),id);}// Server only: the ids a page being rendered has written once already. Framer renders a page, its breakpoint copies\n// included, in one pass; the set is emptied at the next task, so the next page starts empty. Where a pass is split, an\n// instance after the split writes it again (only bytes, never a missing piece).\nconst _firstOnPage=new Set;let _firstOnPageClear=false;function firstOnPage(id){if(typeof document!==\"undefined\"||_firstOnPage.has(id))return false;_firstOnPage.add(id);if(!_firstOnPageClear&&typeof setTimeout===\"function\"){_firstOnPageClear=true;setTimeout(()=>{_firstOnPage.clear();_firstOnPageClear=false;},0);}return true;}/** The kit's faces, the scale variable and the phone rules: once per page, in the head (pageStyle). */const KitCss=pageStyle(\"asm-kit\",KIT_FONT_CSS+SCALE_CSS+PHONE_CSS);/**\n * The scale variable and the kit's fonts, in the HTML from the server. Once at the root of every component.\n * The CSS is written once per page in the head (KitCss above), whatever the number of instances. The two preload hints\n * are written by the page's first instance only (server); the others write an empty `<link>` in their place, so every\n * instance keeps the same three elements, on the server and in the browser (React compares the elements when the page\n * comes alive, not their attributes), and the elements after them keep their places.\n */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). With KitFonts on the page\n// they carry only the characters its embedded faces lack.\nconst first=firstOnPage(\"asm-kit-preload\");return /*#__PURE__*/_jsxs(_Fragment,{children:[first?/*#__PURE__*/_jsx(\"link\",{rel:\"preload\",as:\"font\",type:\"font/woff2\",href:FONT_INTER_TIGHT,crossOrigin:\"anonymous\"}):/*#__PURE__*/_jsx(\"link\",{}),first?/*#__PURE__*/_jsx(\"link\",{rel:\"preload\",as:\"font\",type:\"font/woff2\",href:FONT_INTER,crossOrigin:\"anonymous\"}):/*#__PURE__*/_jsx(\"link\",{}),/*#__PURE__*/_jsx(\"style\",{}),/*#__PURE__*/_jsx(KitCss,{})]});}/**\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;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();// read on the next frame of the page's loop after a resize (several resizes in one frame: one read)\nwindow.addEventListener(\"resize\",()=>kitNextFrame(scaleCheck),{passive:true});}function scaleCheck(){const n=readScale();if(Math.abs(n-_scale)>5e-4){_scale=n;_scaleSubs.forEach(f=>f());}}/** 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;// the pixel ratio films and pictures the browser draws are chosen at (CapStore's deviceTier, 2 at most)\nif(hasLadder(url))return pickMedia(url,Math.round((w<810?w:w/2)*deviceTier().mediaDpr));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 _near=new Set;let _nearTimer=0;/** until when the slow check runs (ms, Date.now) */let _nearUntil=0;let _nearRo=null;const NEAR_AWAKE_MS=3e3;const NEAR_INPUT=[\"pointerdown\",\"pointerup\",\"keydown\",\"touchend\"];function nearOf(el,was){const r=el.getBoundingClientRect();// not laid out (a hidden tab, a closed panel): it keeps what it has, and is measured again when its size changes\nif(!(r.width>0)||!(r.height>0))return was;const vw=window.innerWidth||1;const vh=window.innerHeight||1;const dv=r.bottom<0?-r.bottom/vh:r.top>vh?(r.top-vh)/vh:0;const dh=r.right<0?-r.right/vw:r.left>vw?(r.left-vw)/vw:0;const d=Math.max(dv,dh);return was?d<=1.5:d<=1;}function nearCheck(){// measured now: a check still waiting for its frame is not needed any more\n_kitNext.delete(nearCheck);_near.forEach(w=>{const n=nearOf(w.el,w.near);if(n!==w.near){w.near=n;w.set(n);}});}/** measure on the next frame of the page's loop (CapStore's frameLoop: no frame of the kit's own) */function nearKick(){kitNextFrame(nearCheck);}/**\n * Something happened that can move a piece toward the window or away from it (a scroll, a resize, a change of a piece's\n * or the page's size, a press, a key, a touch, the tab shown again, a Kit Selector moving on): measure on the next\n * frame, and keep a slow check (every 700 ms, measured at once, asking for no frame) for the next 3 s, for what slides\n * or settles after it without a scroll (a track sliding to its next panel, a layout change). Then the check sleeps: at\n * rest, and while every piece is far, nothing of it runs (README rule 13; job H3, 2026-10-22: before, the 700 ms timer\n * ran on every screen for the whole visit). A piece that moves a track by itself, without a press, calls this when it\n * moves (Kit's Selector does).\n */export function nearStir(){if(typeof window===\"undefined\"||_near.size===0)return;nearKick();_nearUntil=Date.now()+NEAR_AWAKE_MS;if(!_nearTimer&&!document.hidden)_nearTimer=window.setInterval(nearTick,700);}function nearTick(){if(Date.now()>_nearUntil||_near.size===0||document.hidden){window.clearInterval(_nearTimer);_nearTimer=0;return;}nearCheck();}function nearShown(){if(!document.hidden)nearStir();}/**\n * True while the element is within about one window of the viewport, in any direction (a panel slid to the side of its\n * screen counts by how far it is to the side); false once it is more than one and a half windows away (the gap keeps a\n * piece at the edge from being made and let go again and again). A piece makes its canvas only while it is true and\n * lets it go (1 x 1) when it turns false. Measured from where the element is drawn, not with an IntersectionObserver: a\n * panel slid sideways is clipped by its track, so an observer never sees it near, and its satin would be painted only as\n * it slides in. (CapStore's useRow measures the same way but waits for the capabilities section, so a piece at the top of\n * a page would be painted late; CapStore's useResident has no gap between made and let go.) One check for all of them:\n * on any scroll, on resize, when one of them or the page changes size, on a press, a key or a touch, and every 700 ms for\n * 3 s after any of these (nearStir); asleep otherwise. Measured before the first paint; false on the server.\n */export function useKitNear(ref){const[near,setNear]=useState(false);useIsoLayoutEffect(()=>{const el=ref.current;if(!el||typeof window===\"undefined\")return;const w={el,near:false,set:setNear};w.near=nearOf(el,false);setNear(w.near);_near.add(w);if(_near.size===1){window.addEventListener(\"scroll\",nearStir,{passive:true,capture:true});window.addEventListener(\"resize\",nearStir,{passive:true});NEAR_INPUT.forEach(t=>window.addEventListener(t,nearStir,{passive:true,capture:true}));document.addEventListener(\"visibilitychange\",nearShown);if(typeof ResizeObserver!==\"undefined\"){// a watched piece's size, and the page's (a section above that grows or shrinks moves every piece)\n_nearRo=new ResizeObserver(()=>nearStir());_nearRo.observe(document.documentElement);if(document.body)_nearRo.observe(document.body);}}if(_nearRo)_nearRo.observe(el);nearStir();return()=>{_near.delete(w);if(_nearRo)_nearRo.unobserve(el);if(_near.size===0){window.removeEventListener(\"scroll\",nearStir,{capture:true});window.removeEventListener(\"resize\",nearStir);NEAR_INPUT.forEach(t=>window.removeEventListener(t,nearStir,{capture:true}));document.removeEventListener(\"visibilitychange\",nearShown);if(_nearRo)_nearRo.disconnect();_nearRo=null;window.clearInterval(_nearTimer);_nearTimer=0;}};},[ref]);return near;}/** Lets a canvas go: its pixels are freed (1 x 1, cleared). */function releaseCanvas(cv){if(cv&&(cv.width!==1||cv.height!==1)){cv.width=1;cv.height=1;}}const _frames=new Set;let _frameLast=0;const _kitNext=new Set;let _kitLoop=null;function kitTick(now){if(_kitNext.size){const jobs=Array.from(_kitNext);_kitNext.clear();jobs.forEach(f=>{try{f();}catch(x){}});}if(_frames.size){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)_frameLast=0;return _frames.size>0||_kitNext.size>0;}/** the kit's subscriber to the page's frame loop, made at the kit's first need in the browser */function kitLoop(){if(!_kitLoop&&typeof window!==\"undefined\"&&typeof document!==\"undefined\")_kitLoop=frameLoop(document.documentElement,kitTick);return _kitLoop;}/** runs `f` once on the next frame of the page's loop */function kitNextFrame(f){if(typeof window===\"undefined\")return;_kitNext.add(f);const l=kitLoop();if(l)l.wake();}/** Subscribe to the kit's frames (on the page's frame loop). Returns the unsubscribe. */export function onFrame(f){if(typeof window===\"undefined\")return()=>undefined;if(!_frames.size)_frameLast=0;_frames.add(f);const l=kitLoop();if(l)l.wake();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;};// a canvas's pixel ratio: CapStore's deviceTier (2 at most, 1.5 on a phone), job H3 2026-10-22\nconst lightDpr=()=>typeof window===\"undefined\"?1:deviceTier().canvasDpr;/** 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{inView}=useLive(rootRef);// its canvas exists only within about a window of the screen (useKitNear)\nconst near=useKitNear(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: CapStore's frameLoop runs it only while the road is within 200 px of the screen and the tab is seen\n// (as the kit's own loop did with useLive), and lets it sleep once the light has settled. Far from the screen the\n// canvas is let go; near again, the road is drawn where it is at once.\nuseEffect(()=>{if(!(a1-a0>1))return;if(!isStatic&&!near){releaseCanvas(cvRef.current);return;}draw(nowMs());if(still)return;let active=true;const loop=frameLoop(rootRef.current,(now,dt)=>{if(!active)return false;if(!control&&!progress)E.current.t+=dt;return draw(now);},\"200px 0px\");return()=>{active=false;loop.stop();};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[near,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();// a track its host slides to the chosen panel: the kit's near check measures as it moves (a selector that\n// moves on by itself has no press to wake it)\nnearStir();},// 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;}const root=rootRef.current;if(SELECTOR_LIGHT_OFF){// Nothing is drawn (D22 b), so the advancing clock is a timer and asks for no frame (README rule 13: a\n// frame only while something visibly moves; 2026-10-22, it asked for one on every frame while in view). It\n// counts as the frame clock did: only while on screen, from 380 ms after the pill moved.\nif(typeof props.progress===\"number\")return;const start=nowMs();const wait=Math.max(0,380-(start-movedAt.current));let fired=false;const id=window.setTimeout(()=>{fired=true;select((sel+1)%Math.max(1,items.length),false);},wait+Math.max(0,advance-T.current.t)*1e3);return()=>{window.clearTimeout(id);if(!fired)T.current.t=Math.min(advance,T.current.t+Math.max(0,nowMs()-start-wait)/1e3);};}if(typeof props.progress===\"number\"){let active=true;const loop=frameLoop(root,now=>{if(!active)return false;drawLight(now,props.progress);return now-movedAt.current<900;});return()=>{active=false;loop.stop();};}let active=true;const loop=frameLoop(root,(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;loop.stop();};// 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);// 0: not painted (or let go); 1: painted, fading in (the first paint, or a paint that had to be computed); 2: painted\n// again from the satin cache after being let go, shown at once (it is made while still a window away)\nconst[shown,setShown]=useState(0);const painted=useRef(false);// the canvas exists only within about a window of the screen (useKitNear); far, it is let go (1 x 1)\nconst near=useKitNear(cvRef);useEffect(()=>{const cv=cvRef.current;if(!cv||isStatic||typeof window===\"undefined\")return;if(!near){releaseCanvas(cv);setShown(0);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();let sync=true;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);setShown(v=>v?v:painted.current&&sync?2:1);painted.current=true;});sync=false;};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,near]);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:shown?1:0,transition:shown===1?\"opacity 600ms ease-out\":\"none\",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);// as SatinPlate: 0 not painted or let go, 1 fading in, 2 painted again from the cache and shown at once\nconst[shown,setShown]=useState(0);const painted=useRef(false);const near=useKitNear(cvRef);useEffect(()=>{const cv=cvRef.current;if(!cv||isStatic||typeof window===\"undefined\")return;if(!near){releaseCanvas(cv);setShown(0);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;let sync=true;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);setShown(v=>v?v:painted.current&&sync?2:1);painted.current=true;});sync=false;};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,near]);return /*#__PURE__*/_jsx(\"canvas\",{ref:cvRef,\"aria-hidden\":true,style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",pointerEvents:\"none\",imageRendering:\"pixelated\",opacity:shown?1:0,transition:shown===1?\"opacity 900ms ease-out\":\"none\",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 *//** The annotation's slow breathing, once per page (pageStyle); the empty `<style />` keeps the element it replaced. */const BreatheCss=pageStyle(\"asm-kit-breathe\",`@keyframes asmKitBreathe{0%{opacity:1}50%{opacity:.9}100%{opacity:1}}.asm-kit-breathe{animation:asmKitBreathe 12.5s ease-in-out infinite}`);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\");// its canvas exists only within about a window of the screen (useKitNear)\nconst near=useKitNear(boxRef);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;// on CapStore's frameLoop: it runs only while the annotation is on screen; one that left before it finished\n// shows its end when it comes back\nconst loop=frameLoop(boxRef.current,now=>{if(!active)return false;const k=(now-t0)/1600;setT(Math.min(1,k));return k<1;});return()=>{active=false;loop.stop();};},[seen,isStatic,reduced]);useEffect(()=>{const cv=cvRef.current;if(!cv)return;if(!isStatic&&!near){releaseCanvas(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,near]);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\",{}),/*#__PURE__*/_jsx(BreatheCss,{})]});}// ------------------------------------------------------------------------------------------------------------\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\":{\"K\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"titleSizeFor\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SelectorItem\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Body\":{\"type\":\"reactComponent\",\"name\":\"Body\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"StageProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Road\":{\"type\":\"reactComponent\",\"name\":\"Road\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"PrimaryButton\":{\"type\":\"reactComponent\",\"name\":\"PrimaryButton\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMeanColor\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RGB\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TITLE_MIN\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"StatusPillProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TITLE_LONG_TO\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"STAGE_CARD\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DISPLAY_MAX_CHARS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Selector\":{\"type\":\"reactComponent\",\"name\":\"Selector\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Stage\":{\"type\":\"reactComponent\",\"name\":\"Stage\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"useKeyId\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fitVideo\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Sprites\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"textMin\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"beamRGB\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"drawLanes\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"beamStops\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"METALLIC_ROOM\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"AnnotationProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"REF\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RoadProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fullBelowA\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"roomStop\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getSprites\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"pageStyle\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RoadSpec\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BUTTON_ZOOM_MIN\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SCALE_CSS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"S_VAR\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BlackKey\":{\"type\":\"reactComponent\",\"name\":\"BlackKey\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"onFrame\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TextLink\":{\"type\":\"reactComponent\",\"name\":\"TextLink\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"useAppleAlpha\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"KIT_FONT_CSS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"groundColor\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useScale\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"S_STEP\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BUTTON_ZOOM\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SatinPreset\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useKitNear\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TEXT_MIN\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TextBar\":{\"type\":\"reactComponent\",\"name\":\"TextBar\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"glyphRoom\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SPLIT_GAP\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Caption\":{\"type\":\"reactComponent\",\"name\":\"Caption\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Status\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useLive\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"nearStir\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"AlphaFilm\":{\"type\":\"reactComponent\",\"name\":\"AlphaFilm\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"SatinPlate\":{\"type\":\"reactComponent\",\"name\":\"SatinPlate\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"GroundLift\":{\"type\":\"reactComponent\",\"name\":\"GroundLift\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"GLYPH_ROOM_X\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"AlphaFilmProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PHONE_CSS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Ground\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"px\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CSS_SIZE\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BEAM\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SPLIT_COLUMNS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"titleMeasureFor\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SelectorProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useReducedMotion\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PAGE_MARGIN\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"spriteExtent\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SatinButton\":{\"type\":\"reactComponent\",\"name\":\"SatinButton\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"scaleFor\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"StageMedia\":{\"type\":\"reactComponent\",\"name\":\"StageMedia\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"TITLE_LONG_FROM\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"cs\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"StatusPill\":{\"type\":\"reactComponent\",\"name\":\"StatusPill\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"KitScale\":{\"type\":\"reactComponent\",\"name\":\"KitScale\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Display\":{\"type\":\"reactComponent\",\"name\":\"Display\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"BUTTON_ZOOM_PHONE\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BIG_MAX\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"cssRules\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ActionProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"burst\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BEAM_GLSL\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"sheetLight\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"StageTitle\":{\"type\":\"reactComponent\",\"name\":\"StageTitle\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"TextBarProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SecondaryButton\":{\"type\":\"reactComponent\",\"name\":\"SecondaryButton\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"smooth\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SatinPlateProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Lane\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"lor\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BIG_A\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"GroundLiftProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"GLYPH_ROOM_Y\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"satinPill\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Title\":{\"type\":\"reactComponent\",\"name\":\"Title\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"TopLight\":{\"type\":\"reactComponent\",\"name\":\"TopLight\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"useSize\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Annotation\":{\"type\":\"reactComponent\",\"name\":\"Annotation\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"fitsDisplay\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}