{"version":3,"file":"XTLearnOnce.BcViljEh.mjs","names":["React.useRef","__esmMin","init_ssg_sandbox_shims","init_npm_react_18_3_1","window","ce","init_jsx_runtime","c","p","de","addPropertyControls","ControlType","init_framer_BL70qLPA","afterPaint","once","track","useAnimated","XT_LOCKUP_CSS","settle","XT_BASE_CSS","hidden","whenSized","XT_FONT_IMPORT","init_XTShared","XTStyle","teardown","install","reduceMQ","TL","LOOP_HOLD","P_DETECT","P_RULE","clamp","v","a","b","ease","t","easeOut","backOut","playhead","T","gcd","rng","s","seed","rgb","probe","varName","el","m","rgba","num","name","d","LearnOnce","root","r","cv","w","laneH","annot","pitch","h","dpr","inset","cols","l","self","R","cells","row","density","taken","place","lane","before","o","n","others","extra","i","stopped","stride","st","ln","ts","ox","cRule","lo","hi","f","ctx","W","H","px","oy","spreadK","ruleOn","reachX","g","vg","bloomK","rad","bg","ba","dr","fade","y","k","x","det","rs","arcA","pts","lift","q","x0","x1","u","yy","upto","z","lead","beforeCount","dim","age","e","pk","rr","ra","rip","halo","grow","reach","yBot","startTop","startBot","lg","lit","ny","s2","ng","gl","roundRect","stoppedCount","k1","k2","k3","phA","pg","chip","state","half","nb","after","noteItem","ns","phase","bounds","pr","li","tick","now","en","lastW","pending","onResize","init","go","XTLearnOnce","props","animated","host","html","PRESETS","\"home\"","setRootAttr","addRootClass","on","key","box","unsettle","cancelSized","untrack","cancel","api","style","CSS","init_XTLearnOnce","\"finops\""],"sources":["https:/framerusercontent.com/modules/qAsRPz85TvlKp22Dd69o/ca1fdbt4MhGYOcQG66Ph/XTLearnOnce.js"],"sourcesContent":["// @ts-nocheck\n// XT Learn once. Port of site/visuals/learn-once. Markup presets are copied verbatim from the local pages (copy is not edited here);\n// the behaviour script is the original, verbatim, installed once per page. Text stays DOM text, so it is in the server HTML.\n// Animation starts on the client after first paint, only on the published site/preview; the canvas shows the final frame.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{XTStyle,XT_FONT_IMPORT,XT_BASE_CSS,XT_LOCKUP_CSS,useAnimated,once,afterPaint,teardown,settle,whenSized,track,hidden}from\"https://framerusercontent.com/modules/dJPZ5VRbhPbRDwnU4bd6/SWSCRD2FKFAHO19Do92q/XTShared.js\";const CSS=`/* ==========================================================================\n   Visual \\xb7 learn-once  \\xb7  \"Fix a mistake once, every team benefits\"\n   A field of team sessions. One team's agent repeats a mistake; XTrace\n   detects it and fixes it automatically (round 8: no approval step); every\n   team's plugin enforces the fix and the repeats stop. Enforcement is the plugin's job, never\n   the gateway's.\n\n   All selectors are scoped under .v-learn-once. Tokens come from xt.css.\n   Canvas colors are read from the --lo-* custom properties below, so a\n   theme is just a block of variables.\n   ========================================================================== */\n\n.v-learn-once {\n  /* Crux type (round 4). Same values as the retokenized xt.css; kept here so the visual renders right on any page. */\n  --sans: \"Funnel Sans\", system-ui, -apple-system, \"Segoe UI\", sans-serif;\n  --mono: \"Fragment Mono\", ui-monospace, \"SFMono-Regular\", Menlo, monospace;\n  /* Theme (dark is the default: built for .band-dark) */\n  --lo-surface: color-mix(in oklab, var(--dark-2) 72%, transparent);\n  --lo-border: var(--hair-dark);\n  --lo-rule-line: var(--hair-dark);\n  --lo-ink: var(--on-dark);\n  --lo-text: var(--on-dark-soft);\n  --lo-muted: var(--on-dark-muted);\n  --lo-chip-bg: var(--dark-3);\n  --lo-chip-ring: var(--hair-dark-strong);\n\n  /* canvas palette (read by learn-once.js) */\n  --lo-dot: var(--on-dark);\n  --lo-dot-alpha: .26;\n  --lo-repeat: var(--rose);\n  --lo-repeat-core: var(--rose);\n  --lo-rule-a: var(--lavender);\n  --lo-rule-b: var(--sky);\n  --lo-glow-a: var(--lavender-deep);   /* glows use the deep pastels so they read as color, not gray */\n  --lo-glow-b: var(--sky-deep);\n  --lo-glow-alpha: 1;\n\n  /* geometry */\n  --lo-lane: 34px;          /* height of one team lane */\n  --lo-annot: 44px;         /* annotation row above the lanes (chip lives here) */\n  --lo-label-w: 92px;       /* team label column */\n  --lo-pitch: 17;           /* target px between session columns (unitless, read by JS) */\n  --lo-pad: clamp(18px, 2.6vw, 32px);\n\n  position: relative;\n  margin: 0;\n  padding: var(--lo-pad);\n  border-radius: var(--r-xl);\n  background: var(--lo-surface);\n  box-shadow: 0 0 0 1px var(--lo-border), 0 40px 80px -40px rgba(0, 0, 0, .55);\n  color: var(--lo-text);\n  font-family: var(--sans);\n  letter-spacing: -0.04em;\n}\n\n.v-learn-once:not(.v-learn-once--light) .tag-illus { color: var(--on-dark-muted); box-shadow: inset 0 0 0 1px var(--hair-dark-strong); background: transparent; }\n.v-learn-once .lo-count__item--note dd { transition: opacity .5s var(--ease); }\n.v-learn-once .lo-count__item--note.is-pending dd { opacity: .35; }\n\n/* Light theme: for .band-soft or the canvas floor */\n.v-learn-once--light {\n  --lo-surface: var(--card);\n  --lo-border: var(--hair);\n  --lo-rule-line: var(--hair);\n  --lo-ink: var(--ink);\n  --lo-text: var(--body);\n  --lo-muted: var(--muted);\n  --lo-chip-bg: var(--card);\n  --lo-chip-ring: var(--hair-strong);\n  --lo-dot: var(--ink-2);\n  --lo-dot-alpha: .16;\n  --lo-repeat: var(--rose);\n  --lo-repeat-core: var(--neg);\n  --lo-rule-a: var(--lavender-deep);\n  --lo-rule-b: var(--sky-deep);\n  --lo-glow-a: var(--lavender);\n  --lo-glow-b: var(--sky);\n  --lo-glow-alpha: .8;\n  box-shadow: var(--sh-float);\n}\n\n/* Bare: no panel, for use inside a .figure__stage or an existing card */\n.v-learn-once--bare { padding: 0; background: none; box-shadow: none; border-radius: 0; }\n\n/* Compact: fewer lanes, no step row. For a half-width column next to page copy. */\n.v-learn-once--compact { --lo-lane: 30px; --lo-label-w: 78px; --lo-pitch: 17; }\n.v-learn-once.v-learn-once--compact .lo-steps { display: none; }\n.v-learn-once--compact .lo-count dd { font-size: 32px; }\n.v-learn-once--compact .lo-count__item + .lo-count__item { margin-left: 24px; padding-left: 24px; }\n\n/* ---------- Header: title row, then legend + counter ---------- */\n.v-learn-once .lo-top {\n  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px;\n}\n.v-learn-once .lo-title { font: 500 14px/1.3 var(--sans); color: var(--lo-ink); }\n.v-learn-once .lo-title__sub { font-weight: 400; color: var(--lo-muted); }\n.v-learn-once .lo-tools { display: flex; align-items: center; gap: 10px; }\n.v-learn-once .lo-head {\n  margin-top: var(--s-5);\n  padding-bottom: var(--s-5);\n  border-bottom: 1px solid var(--lo-rule-line);\n}\n/* r8 home: xt.css's global list reset isn't present in Framer */\n.v-learn-once .lo-teams, .v-learn-once .lo-legend { list-style: none; margin: 0; padding-left: 0; }\n.v-learn-once .lo-legend {\n  display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 10px;\n  font: 400 12px/1.3 var(--sans); color: var(--lo-muted);\n}\n.v-learn-once .lo-legend li { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }\n.v-learn-once .lo-key { flex: none; display: inline-block; width: 7px; height: 7px; border-radius: 50%; }\n.v-learn-once .lo-key--session { width: 4px; height: 4px; margin-inline: 1.5px; background: var(--lo-dot); opacity: .5; }\n.v-learn-once .lo-key--repeat { background: var(--lo-repeat-core); box-shadow: 0 0 8px 0 color-mix(in oklab, var(--lo-repeat) 70%, transparent); }\n.v-learn-once .lo-key--stopped { width: 10px; height: 10px; background: transparent; box-shadow: inset 0 0 0 1.25px var(--lo-rule-a); position: relative; }\n.v-learn-once .lo-key--stopped::after { content: \"\"; position: absolute; inset: 3.5px; border-radius: 50%; background: var(--lo-dot); opacity: .5; }\n.v-learn-once .lo-key--rule { width: 8px; height: 8px; border-radius: 2px; background: linear-gradient(140deg, var(--lo-rule-a), var(--lo-rule-b)); }\n\n/* Counter */\n.v-learn-once .lo-count { display: flex; align-items: stretch; margin: 0; }\n.v-learn-once .lo-head.lo-count { margin-top: var(--s-6); }\n.v-learn-once .lo-count__item { min-width: 0; }\n.v-learn-once .lo-count__item + .lo-count__item { margin-left: 32px; padding-left: 32px; border-left: 1px solid var(--lo-rule-line); }\n.v-learn-once .lo-count dt .lo-key { width: 6px; height: 6px; }\n.v-learn-once .lo-count dt .lo-key--rule { width: 6px; height: 6px; border-radius: 1.5px; }\n.v-learn-once .lo-count dt {\n  display: flex; align-items: center; gap: 8px;\n  font: 500 12px/1.3 var(--sans); color: var(--lo-muted); white-space: nowrap;\n}\n.v-learn-once .lo-count dd {\n  margin: 8px 0 0;\n  font: 400 40px/1 var(--display, var(--sans)); letter-spacing: -0.04em; color: var(--lo-ink);\n  font-variant-numeric: lining-nums tabular-nums;\n}\n.v-learn-once .lo-count__note {\n  margin-top: 10px; transition: opacity .5s var(--ease); font: 400 10px/1.3 var(--mono); letter-spacing: -0.02em; color: var(--lo-muted); white-space: nowrap;\n}\n\n/* ---------- Stage: team labels + canvas ---------- */\n.v-learn-once .lo-stage {\n  position: relative;\n  display: grid;\n  grid-template-columns: var(--lo-label-w) minmax(0, 1fr);\n  margin-top: var(--s-5);\n}\n.v-learn-once .lo-teams {\n  padding-top: var(--lo-annot);\n  font: 400 12px/1 var(--sans); color: var(--lo-muted);\n}\n.v-learn-once .lo-teams li {\n  height: var(--lo-lane); display: flex; align-items: center;\n  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding-right: 10px;\n  transition: color .6s var(--ease);\n}\n.v-learn-once .lo-teams li.is-origin { color: var(--lo-ink); }\n.v-learn-once .lo-field { position: relative; min-width: 0; }\n.v-learn-once .lo-canvas { display: block; width: 100%; height: calc(var(--lo-annot) + var(--lo-lane) * var(--lo-lanes, 8)); }\n\n/* Annotation chip: travels from the detected pattern to the approval line */\n.v-learn-once .lo-chip {\n  position: absolute; top: 4px; left: var(--lo-chip-x, 30%);\n  translate: -50% 0;\n  display: inline-flex; align-items: center; gap: 8px; min-height: 26px; padding: 6px 12px 6px 8px; width: max-content; box-sizing: border-box;\n  border-radius: var(--r-pill);\n  background: var(--lo-chip-bg);\n  box-shadow: inset 0 0 0 1px var(--lo-chip-ring), 0 8px 20px -10px rgba(0, 0, 0, .5);\n  font: 500 12px/1 var(--sans); color: var(--lo-ink); white-space: nowrap;\n  opacity: 0; transform: translateY(4px);\n  transition: opacity .5s var(--ease-out), transform .5s var(--ease-out), left .9s var(--ease-out);\n  pointer-events: none;\n}\n.v-learn-once .lo-chip::before {\n  content: \"\"; flex: none; width: 6px; height: 6px; border-radius: 50%;\n  background: var(--lo-repeat-core);\n  box-shadow: 0 0 8px 0 color-mix(in oklab, var(--lo-repeat) 80%, transparent);\n  transition: background .5s var(--ease), box-shadow .5s var(--ease), border-radius .5s var(--ease);\n}\n.v-learn-once .lo-chip.is-on { opacity: 1; transform: none; }\n.v-learn-once .lo-chip[data-state=\"rule\"]::before,\n.v-learn-once .lo-chip[data-state=\"live\"]::before {\n  border-radius: 2px;\n  background: linear-gradient(140deg, var(--lo-rule-a), var(--lo-rule-b));\n  box-shadow: 0 0 10px 0 color-mix(in oklab, var(--lo-rule-a) 70%, transparent);\n}\n.v-learn-once .lo-chip span { display: none; }\n.v-learn-once .lo-chip span b { font-weight: 500; color: var(--lo-muted); }\n.v-learn-once .lo-chip[data-state=\"detect\"] .lo-chip__detect,\n.v-learn-once .lo-chip[data-state=\"rule\"] .lo-chip__rule,\n.v-learn-once .lo-chip[data-state=\"live\"] .lo-chip__live { display: inline; }\n\n/* Axis: three quiet labels, no ticks */\n.v-learn-once .lo-axis {\n  position: relative; height: 30px; margin-top: 6px;\n  border-top: 1px solid var(--lo-rule-line);\n  font: 400 10px/1 var(--mono); letter-spacing: -0.02em; color: var(--lo-muted);\n}\n.v-learn-once .lo-axis span { position: absolute; top: 10px; white-space: nowrap; }\n.v-learn-once .lo-axis__start { left: 0; }\n.v-learn-once .lo-axis__end { right: 0; }\n.v-learn-once .lo-axis__mark { left: var(--lo-mark-x, 45%); translate: -50% 0; color: var(--lo-text); transition: opacity .6s var(--ease); }\n.v-learn-once[data-lo-phase=\"0\"] .lo-axis__mark, .v-learn-once[data-lo-phase=\"1\"] .lo-axis__mark { opacity: 0; }\n.v-learn-once .lo-axis__mark::before {\n  content: \"\"; position: absolute; left: 50%; top: -11px; width: 1px; height: 6px; background: var(--lo-rule-a);\n}\n\n/* ---------- Steps ---------- */\n.v-learn-once { --lo-loop-line: color-mix(in oklab, var(--lo-muted) 70%, transparent); }\n.v-learn-once .lo-steps { list-style: none; margin: 0; padding-left: 0; /* r8 home */\n  position: relative;\n  display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); column-gap: var(--s-6);\n  margin-top: var(--s-6);\n  counter-reset: lo;\n}\n/* Round 8: the steps are one turn of a loop. A hairline runs back from the last step to the first\n   (under the row on wide screens, down the left edge when the steps stack), ending in a small arrowhead,\n   so the row reads detect -> fix -> enforce -> detect again. Decorative only. */\n.v-learn-once .lo-steps:has(> li:nth-child(3):last-child) { padding-bottom: 30px; }\n.v-learn-once .lo-steps:has(> li:nth-child(3):last-child)::after {\n  content: \"\"; position: absolute; left: 6px; right: 6px; bottom: 0; height: 22px;\n  border: 1px solid var(--lo-loop-line); border-top: 0; border-radius: 0 0 12px 12px;\n  -webkit-mask: linear-gradient(90deg, #000 0 40%, rgba(0,0,0,.55) 100%); mask: linear-gradient(90deg, #000 0 40%, rgba(0,0,0,.55) 100%);\n}\n.v-learn-once .lo-steps:has(> li:nth-child(3):last-child)::before {\n  content: \"\"; position: absolute; left: 2px; bottom: 21px; width: 9px; height: 6px;\n  background: var(--lo-loop-line);\n  clip-path: polygon(50% 0, 100% 100%, 0 100%);\n}\n.v-learn-once .lo-steps li { position: relative; padding-top: 16px; }\n.v-learn-once .lo-steps__bar {\n  position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--lo-loop-line); overflow: hidden;\n}\n.v-learn-once .lo-steps__bar b {\n  display: block; height: 100%; width: 100%; transform-origin: left center;\n  transform: scaleX(var(--lo-p, 1));\n  background: var(--lo-ink); opacity: .5;\n}\n.v-learn-once .lo-steps li:last-child .lo-steps__bar b { background: linear-gradient(90deg, var(--lo-rule-a), var(--lo-rule-b)); opacity: 1; }\n/* Step numbers are retired (round 4: no numbered openers). Hidden in case older pasted markup still has them. */\n.v-learn-once .lo-steps__n { display: none; }\n.v-learn-once .lo-steps__t {\n  display: block; margin-top: 0;\n  font: 400 22px/1.2 var(--display, var(--sans)); letter-spacing: -0.04em; color: var(--lo-ink);\n  transition: color .5s var(--ease);\n}\n.v-learn-once .lo-steps__d {\n  display: block; margin-top: 8px; font: 400 14px/1.4 var(--sans); color: var(--lo-text); text-wrap: pretty;\n  transition: color .5s var(--ease);\n}\n/* Upcoming steps sit back while the sequence plays */\n.v-learn-once.is-playing .lo-steps li.is-next .lo-steps__t,\n.v-learn-once.is-playing .lo-steps li.is-next .lo-steps__d { color: var(--lo-muted); }\n.v-learn-once.is-playing .lo-steps li.is-next .lo-steps__t { opacity: .7; }\n\n/* Replay */\n.v-learn-once .lo-replay {\n  display: inline-flex; align-items: center; gap: 6px; min-height: 26px; padding: 6px 12px 6px 8px; flex: none; width: max-content; box-sizing: border-box;\n  border-radius: var(--r-pill); box-shadow: inset 0 0 0 1px var(--lo-chip-ring);\n  font: 500 12px/1 var(--sans); color: var(--lo-text); white-space: nowrap;\n  opacity: 0; visibility: hidden; transition: opacity .4s var(--ease), color .2s var(--ease), box-shadow .2s var(--ease);\n}\n.v-learn-once .lo-replay svg { width: 12px; height: 12px; }\n.v-learn-once .lo-replay:hover { color: var(--lo-ink); box-shadow: inset 0 0 0 1px var(--lo-ink); }\n.v-learn-once.is-done .lo-replay { opacity: 1; visibility: visible; }\n/* ---------- Responsive ---------- */\n@media (max-width: 860px) {\n  .v-learn-once .lo-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--s-6); }\n  .v-learn-once .lo-steps:has(> li:nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--s-5); }\n}\n@media (max-width: 560px) {\n  .v-learn-once { --lo-lane: 28px; --lo-annot: 42px; --lo-label-w: 64px; --lo-pitch: 13; }\n  .v-learn-once .lo-teams { font-size: 12px; }\n  .v-learn-once .lo-legend { gap: 8px 16px; font-size: 12px; }\n  .v-learn-once .lo-count__item { flex: 1 1 0; }\n  .v-learn-once .lo-count__item + .lo-count__item { padding-left: 16px; margin-left: 16px; }\n  .v-learn-once .lo-count__item { display: flex; flex-direction: column-reverse; justify-content: flex-end; }\n  .v-learn-once .lo-count dd { margin: 0 0 8px; }\n  .v-learn-once .lo-count dt { white-space: normal; align-items: flex-start; font-size: 12px; line-height: 1.3; }\n  .v-learn-once .lo-count dt .lo-key { margin-top: 4px; }\n  .v-learn-once .lo-legend { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; margin-left: calc(var(--lo-label-w) * -1); margin-top: 16px; }\n  .v-learn-once .lo-legend li { white-space: normal; }\n  .v-learn-once .lo-count dd { font-size: 32px; }\n  .v-learn-once .lo-count__note { white-space: normal; }\n  .v-learn-once .lo-steps,\n  .v-learn-once .lo-steps:has(> li:nth-child(3):last-child) { grid-template-columns: minmax(0, 1fr); row-gap: var(--s-5); }\n  .v-learn-once .lo-steps__t { font-size: 20px; }\n  /* stacked: the return line runs down the left edge, from the last step back up to the first */\n  .v-learn-once .lo-steps:has(> li:nth-child(3):last-child) { padding-bottom: 0; padding-left: 24px; }\n  .v-learn-once .lo-steps:has(> li:nth-child(3):last-child)::after {\n    left: 0; right: auto; top: 6px; bottom: 6px; width: 12px; height: auto;\n    border: 1px solid var(--lo-loop-line); border-right: 0; border-radius: 12px 0 0 12px;\n    -webkit-mask: linear-gradient(0deg, #000 0 40%, rgba(0,0,0,.55) 100%); mask: linear-gradient(0deg, #000 0 40%, rgba(0,0,0,.55) 100%);\n  }\n  .v-learn-once .lo-steps:has(> li:nth-child(3):last-child)::before {\n    left: 10px; top: 3px; bottom: auto; width: 6px; height: 7px;\n    clip-path: polygon(100% 50%, 0 0, 0 100%);\n  }\n  .v-learn-once .lo-chip { font-size: 12px; }\n}\n\n/* Frozen (data-at) instances render without transitions */\n.v-learn-once.is-frozen *, .v-learn-once.is-frozen *::before { transition: none !important; }\n\n/* Reduced motion: the end state, drawn once. */\n@media (prefers-reduced-motion: reduce) {\n  .v-learn-once .lo-chip, .v-learn-once .lo-teams li, .v-learn-once .lo-steps__t, .v-learn-once .lo-steps__d { transition: none; }\n  .v-learn-once .lo-replay { display: none; }\n}\n`;const PRESETS={\"home\":`<figure class=\"v-learn-once\" data-origin=\"2\" data-before=\"11\" data-stopped=\"9\" data-play=\"loop\">\n  <div class=\"lo-top\">\n    <p class=\"lo-title\">Sessions by team <span class=\"lo-title__sub\">\\xb7 14 days</span></p>\n    <div class=\"lo-tools\">\n      <button class=\"lo-replay\" type=\"button\" aria-label=\"Replay the animation\">\n        <svg viewBox=\"0 0 12 12\" fill=\"none\" aria-hidden=\"true\"><path d=\"M2.2 6a3.8 3.8 0 1 0 1.1-2.7M2.2 1.6v2.1h2.1\" stroke=\"currentColor\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n        Replay\n      </button>\n    </div>\n  </div>\n\n  <dl class=\"lo-head lo-count\" aria-hidden=\"true\">\n    <div class=\"lo-count__item\">\n      <dt><i class=\"lo-key lo-key--repeat\"></i>Repeats before the fix</dt>\n      <dd data-lo=\"before\">11</dd>\n    </div>\n    <div class=\"lo-count__item\">\n      <dt><i class=\"lo-key lo-key--rule\"></i>Repeats after</dt>\n      <dd data-lo=\"after\">0</dd>\n    </div>\n    <div class=\"lo-count__item lo-count__item--note\">\n      <dt><i class=\"lo-key lo-key--stopped\"></i>Stopped by the plugin</dt>\n      <dd data-lo=\"stopped\">9</dd>\n    </div>\n  </dl>\n\n  <div class=\"lo-stage\" role=\"img\" aria-label=\"Diagram of eight teams' AI sessions over 14 days. The Payments team's coding agent repeats the same failing step three times, and the same mistake then appears in other teams: 11 repeats in all. XTrace flags the pattern and fixes it automatically as a team rule, which reaches the XTrace plugin in every team. Over the following days the plugin stops 9 attempts inside the session, and the mistake does not repeat again. Then XTrace keeps watching for the next one.\">\n    <ol class=\"lo-teams\" aria-hidden=\"true\">\n      <li>Search</li>\n      <li>Mobile</li>\n      <li>Payments</li>\n      <li>Data</li>\n      <li>Growth</li>\n      <li>Risk</li>\n      <li>Support</li>\n      <li>Infra</li>\n    </ol>\n    <div class=\"lo-field\">\n      <canvas class=\"lo-canvas\"></canvas>\n      <div class=\"lo-chip\" aria-hidden=\"true\">\n        <span class=\"lo-chip__detect\">Same failing step, 3 times <b>\\xb7 Payments</b></span>\n        <span class=\"lo-chip__rule\">Fixed automatically</span>\n        <span class=\"lo-chip__live\">Team rule <b>\\xb7 in every team's plugin</b></span>\n      </div>\n      <div class=\"lo-axis\" aria-hidden=\"true\">\n        <span class=\"lo-axis__start\">Day 1</span>\n        <span class=\"lo-axis__mark\">Fixed</span>\n        <span class=\"lo-axis__end\">Day 14</span>\n      </div>\n      <ul class=\"lo-legend\" aria-hidden=\"true\">\n        <li><i class=\"lo-key lo-key--session\"></i>Session</li>\n        <li><i class=\"lo-key lo-key--repeat\"></i>Repeated mistake</li>\n        <li><i class=\"lo-key lo-key--rule\"></i>Team rule in the plugin</li>\n        <li><i class=\"lo-key lo-key--stopped\"></i>Stopped in session</li>\n      </ul>\n    </div>\n  </div>\n\n  <ol class=\"lo-steps\">\n    <li><span class=\"lo-steps__bar\"><b></b></span><span class=\"lo-steps__t\">XTrace spots a mistake</span><span class=\"lo-steps__d\">One team's agent keeps retrying the same failing step, and other teams start to hit it too.</span></li>\n    <li><span class=\"lo-steps__bar\"><b></b></span><span class=\"lo-steps__t\">It fixes it automatically</span><span class=\"lo-steps__d\">The fix becomes a team rule on its own. Teams that want a look first can review it.</span></li>\n    <li><span class=\"lo-steps__bar\"><b></b></span><span class=\"lo-steps__t\">Every team's plugin enforces it</span><span class=\"lo-steps__d\">The XTrace plugin stops the mistake inside each session. Then XTrace looks for the next one.</span></li>\n  </ol>\n</figure>`,\"finops\":`<div class=\"v-learn-once\" data-origin=\"2\" data-before=\"11\" data-stopped=\"9\" data-play=\"loop\">\n  <div class=\"lo-top\">\n    <p class=\"lo-title\">Sessions by team <span class=\"lo-title__sub\">\\xb7 14 days</span></p>\n    <div class=\"lo-tools\">\n      <button class=\"lo-replay\" type=\"button\" aria-label=\"Replay the animation\">\n        <svg viewBox=\"0 0 12 12\" fill=\"none\" aria-hidden=\"true\"><path d=\"M2.2 6a3.8 3.8 0 1 0 1.1-2.7M2.2 1.6v2.1h2.1\" stroke=\"currentColor\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n        Replay\n      </button>\n    </div>\n  </div>\n\n  <dl class=\"lo-head lo-count\" aria-hidden=\"true\">\n    <div class=\"lo-count__item\">\n      <dt><i class=\"lo-key lo-key--repeat\"></i>Repeats before the fix</dt>\n      <dd data-lo=\"before\">11</dd>\n    </div>\n    <div class=\"lo-count__item\">\n      <dt><i class=\"lo-key lo-key--rule\"></i>Repeats after</dt>\n      <dd data-lo=\"after\">0</dd>\n    </div>\n    <div class=\"lo-count__item lo-count__item--note\">\n      <dt><i class=\"lo-key lo-key--stopped\"></i>Stopped by the plugin</dt>\n      <dd data-lo=\"stopped\">9</dd>\n    </div>\n  </dl>\n\n  <div class=\"lo-stage\" role=\"img\" aria-label=\"Diagram of eight teams' AI sessions over 14 days. The Payments team's coding agent repeats the same failing step three times, and the same mistake then appears in other teams: 11 repeats in all. XTrace flags the pattern and fixes it automatically as a team rule, which reaches the XTrace plugin in every team. Over the following days the plugin stops 9 attempts inside the session, and the mistake does not repeat again. Then XTrace keeps watching for the next one.\">\n    <ol class=\"lo-teams\" aria-hidden=\"true\">\n      <li>Search</li>\n      <li>Mobile</li>\n      <li>Payments</li>\n      <li>Data</li>\n      <li>Growth</li>\n      <li>Risk</li>\n      <li>Support</li>\n      <li>Infra</li>\n    </ol>\n    <div class=\"lo-field\">\n      <canvas class=\"lo-canvas\"></canvas>\n      <div class=\"lo-chip\" aria-hidden=\"true\">\n        <span class=\"lo-chip__detect\">Same failing step, 3 times <b>\\xb7 Payments</b></span>\n        <span class=\"lo-chip__rule\">Fixed automatically</span>\n        <span class=\"lo-chip__live\">Team rule <b>\\xb7 in every team's plugin</b></span>\n      </div>\n      <div class=\"lo-axis\" aria-hidden=\"true\">\n        <span class=\"lo-axis__start\">Day 1</span>\n        <span class=\"lo-axis__mark\">Fixed</span>\n        <span class=\"lo-axis__end\">Day 14</span>\n      </div>\n      <ul class=\"lo-legend\" aria-hidden=\"true\">\n        <li><i class=\"lo-key lo-key--session\"></i>Session</li>\n        <li><i class=\"lo-key lo-key--repeat\"></i>Repeated mistake</li>\n        <li><i class=\"lo-key lo-key--rule\"></i>Team rule in the plugin</li>\n        <li><i class=\"lo-key lo-key--stopped\"></i>Stopped in session</li>\n      </ul>\n    </div>\n  </div>\n\n  <ol class=\"lo-steps\">\n    <li><span class=\"lo-steps__bar\"><b></b></span><span class=\"lo-steps__t\">XTrace spots a mistake</span><span class=\"lo-steps__d\">One team's agent keeps retrying the same failing step, and other teams start to hit it too.</span></li>\n    <li><span class=\"lo-steps__bar\"><b></b></span><span class=\"lo-steps__t\">It fixes it automatically</span><span class=\"lo-steps__d\">The fix becomes a team rule on its own. Teams that want a look first can review it.</span></li>\n    <li><span class=\"lo-steps__bar\"><b></b></span><span class=\"lo-steps__t\">Every team's plugin enforces it</span><span class=\"lo-steps__d\">The XTrace plugin stops the mistake inside each session. Then XTrace looks for the next one.</span></li>\n  </ol>\n</div>`};function install(){/* ==========================================================================\n   Visual · learn-once  ·  self-initializing on every .v-learn-once element.\n   Draws a field of team sessions on a <canvas> as a pure function of time\n   (frame(T)), so any moment can be rendered statically. The sequence is one turn of\n   a loop that never stops (round 8: rules are autonomous by default):\n     1. a mistake repeats in one team's sessions and XTrace detects the pattern\n     2. XTrace fixes it automatically as a team rule (no approval step)\n     3. the rule reaches every team's plugin; later attempts are stopped,\n        and XTrace keeps watching for the next one (data-play=\"loop\" replays it)\n   Data attributes (on .v-learn-once):\n     data-origin=\"2\"     lane index of the team where the mistake starts\n     data-before=\"11\"    repeats that happen before the rule (counter)\n     data-stopped=\"9\"    attempts the plugin stops afterwards (counter)\n     data-play=\"loop\"    loop (default): replays after a short hold while visible · view: once · static\n     data-at=\"5.6\"       freeze at a moment in seconds, 0-10.7 (storyboards, docs)\n     data-seed=\"7\"       layout seed for the session field\n   Reduced motion: renders the end state once, no animation.\n   ========================================================================== */(function(){\"use strict\";var reduceMQ=window.matchMedia?window.matchMedia(\"(prefers-reduced-motion: reduce)\"):{matches:false};/* ---------- timeline (seconds) ---------- */var TL={detect:2.5,review:3.5,spread:4.1,spreadDur:1.7,resume:5.3,end:10.7};var LOOP_HOLD=2600;// ms on the end frame before the next turn of the loop\nvar P_DETECT=.29,P_RULE=.46;function clamp(v,a,b){return v<a?a:v>b?b:v;}function ease(t){t=clamp(t,0,1);return t<.5?4*t*t*t:1-Math.pow(-2*t+2,3)/2;}function easeOut(t){t=clamp(t,0,1);return 1-Math.pow(1-t,3);}function backOut(t){t=clamp(t,0,1);var c=1.6;return 1+(c+1)*Math.pow(t-1,3)+c*Math.pow(t-1,2);}/* playhead position (0..1 of the field) at time T */function playhead(T){if(T<=0)return 0;if(T<=TL.detect)return P_DETECT*(T/TL.detect);if(T<=TL.review)return P_DETECT+(P_RULE-P_DETECT)*easeOut((T-TL.detect)/(TL.review-TL.detect));if(T<=TL.resume)return P_RULE;return P_RULE+(1-P_RULE)*ease((T-TL.resume)/(TL.end-TL.resume-.4));}function gcd(a,b){return b?gcd(b,a%b):a;}function rng(seed){var s=seed>>>0||1;return function(){s=s*1664525+1013904223>>>0;return s/4294967296;};}function rgb(el,varName){var probe=document.createElement(\"span\");probe.style.cssText=\"position:absolute;visibility:hidden;color:var(\"+varName+\")\";el.appendChild(probe);var c=getComputedStyle(probe).color;el.removeChild(probe);var m=c.match(/[\\d.]+/g)||[0,0,0];return[+m[0],+m[1],+m[2]];}function rgba(c,a){return\"rgba(\"+c[0]+\",\"+c[1]+\",\"+c[2]+\",\"+clamp(a,0,1).toFixed(3)+\")\";}function num(el,name,d){var v=parseFloat(getComputedStyle(el).getPropertyValue(name));return isNaN(v)?d:v;}function LearnOnce(root){this.root=root;this.canvas=root.querySelector(\".lo-canvas\");this.ctx=this.canvas.getContext(\"2d\");this.field=root.querySelector(\".lo-field\");this.labels=Array.prototype.slice.call(root.querySelectorAll(\".lo-teams li\"));this.lanes=this.labels.length||8;this.origin=clamp(+(root.getAttribute(\"data-origin\")||2),0,this.lanes-1);this.nBefore=Math.max(3,+(root.getAttribute(\"data-before\")||11));this.nStopped=Math.max(1,+(root.getAttribute(\"data-stopped\")||9));this.seed=+(root.getAttribute(\"data-seed\")||7);this.mode=root.getAttribute(\"data-play\")||\"loop\";this.at=root.hasAttribute(\"data-at\")?+root.getAttribute(\"data-at\"):null;this.chip=root.querySelector(\".lo-chip\");this.out={before:root.querySelector('[data-lo=\"before\"]'),after:root.querySelector('[data-lo=\"after\"]'),stopped:root.querySelector('[data-lo=\"stopped\"]')};this.steps=Array.prototype.slice.call(root.querySelectorAll(\".lo-steps li\"));this.replay=root.querySelector(\".lo-replay\");this.T=0;this.t0=0;this.raf=0;this.started=false;this.visible=false;root.style.setProperty(\"--lo-lanes\",this.lanes);root.style.setProperty(\"--lo-mark-x\",P_RULE*100+\"%\");if(this.labels[this.origin])this.labels[this.origin].classList.add(\"is-origin\");this.readTheme();this.layout();this.bind();}LearnOnce.prototype.readTheme=function(){var r=this.root;this.c={dot:rgb(r,\"--lo-dot\"),rep:rgb(r,\"--lo-repeat\"),repCore:rgb(r,\"--lo-repeat-core\"),a:rgb(r,\"--lo-rule-a\"),b:rgb(r,\"--lo-rule-b\"),ga:rgb(r,\"--lo-glow-a\"),gb:rgb(r,\"--lo-glow-b\")};this.dotAlpha=num(r,\"--lo-dot-alpha\",.2);this.glowAlpha=num(r,\"--lo-glow-alpha\",1);};/* Build geometry + events for the current width. Event counts never depend on width. */LearnOnce.prototype.layout=function(){var r=this.root,cv=this.canvas;var w=this.field.clientWidth,laneH=num(r,\"--lo-lane\",34),annot=num(r,\"--lo-annot\",44);var pitch=num(r,\"--lo-pitch\",20);var h=annot+laneH*this.lanes;var dpr=Math.min(window.devicePixelRatio||1,2);cv.width=Math.round(w*dpr);cv.height=Math.round(h*dpr);cv.style.height=h+\"px\";this.ctx.setTransform(dpr,0,0,dpr,0,0);this.W=w;this.H=h;this.laneH=laneH;this.annot=annot;this.dpr=dpr;this.small=w<420;var inset=6;// keep dots off the edges\nvar cols=Math.max(14,Math.floor((w-inset*2)/pitch)+1);this.cols=cols;this.colX=function(c){return inset+(w-inset*2)*(c/(cols-1));};this.laneY=function(l){return annot+laneH*(l+.5);};var self=this;var R=rng(this.seed);// session grid (team-level: each dot is one session, never a person)\nvar cells=[];for(var l=0;l<this.lanes;l++){var row=[];var density=.58+R()*.2;for(var c=0;c<cols;c++)row.push(R()<density?.55+R()*.45:0);cells.push(row);}this.cells=cells;// events\nvar taken={};function place(lane,t){var c=Math.round(t*(cols-1));// keep at least one empty column between events in the same team\nwhile(taken[lane+\":\"+c]||taken[lane+\":\"+(c-1)]||taken[lane+\":\"+(c+1)])c++;c=clamp(c,0,cols-1);taken[lane+\":\"+c]=1;cells[lane][c]=0;// event replaces the plain dot\nreturn{lane:lane,col:c,f:self.colX(c)/w,x:self.colX(c),y:self.laneY(lane)};}var before=[];var o=this.origin,n=this.lanes;// three in the origin team, then the same mistake shows up in other teams\n[.03,.13,.23].forEach(function(t){before.push(place(o,t));});var others=[];for(var k=1;k<n;k++){if(o+k<n)others.push(o+k);if(o-k>=0)others.push(o-k);}var extra=this.nBefore-3;for(var i=0;i<extra;i++){var lane=others[i*3%others.length];var t=.15+(P_RULE-.19)*((i+.5)/extra)+(R()-.5)*.025;before.push(place(lane,clamp(t,.12,P_RULE-.03)));}var stopped=[];var stride=[3,5,2,1].filter(function(st){return gcd(st,n)===1&&st<n;})[0]||1;for(var s=0;s<this.nStopped;s++){var ln=(o+1+s*stride)%n;var ts=P_RULE+.09+(.97-P_RULE-.09)*Math.pow((s+.4)/this.nStopped,1.15)+(R()-.5)*.02;stopped.push(place(ln,clamp(ts,P_RULE+.08,.985)));}before.sort(function(a,b){return a.f-b.f;});stopped.sort(function(a,b){return a.f-b.f;});this.before=before;this.stopped=stopped;this.ruleX=w*P_RULE;this.originRepeats=before.filter(function(e){return e.lane===o;}).slice(0,3);var ox=0;this.originRepeats.forEach(function(e){ox+=e.x;});ox/=3;this.arcX=ox;// align the rule line to a column gap so it never sits on a dot\nvar cRule=(P_RULE*w-inset)/(w-inset*2)*(cols-1);this.ruleX=this.colX(Math.floor(cRule)+.5);this.ruleF=this.ruleX/w;this.root.style.setProperty(\"--lo-mark-x\",this.ruleF*100+\"%\");};/* time at which the playhead first reaches fraction f */LearnOnce.prototype.timeAt=function(f){var lo=0,hi=TL.end;for(var i=0;i<28;i++){var m=(lo+hi)/2;if(playhead(m)>=f)hi=m;else lo=m;}return hi;};LearnOnce.prototype.frame=function(T){var ctx=this.ctx,W=this.W,H=this.H,c=this.c,self=this;var p=playhead(T),px=p*W;var laneH=this.laneH,annot=this.annot,o=this.origin;var oy=this.laneY(o);ctx.clearRect(0,0,W,H);var spreadK=clamp((T-TL.spread)/TL.spreadDur,0,1);// 0..1 wave progress\nvar settle=clamp((T-TL.resume)/3.2,0,1);// after the rule, history calms\nvar ruleOn=T>=TL.review;/* 1. protected territory: a whisper of rule color right of the line, fading out to the right and at the field edges */if(spreadK>0&&px>this.ruleX+1){var reachX=Math.min(px,this.ruleX+W*.42);var g=ctx.createLinearGradient(this.ruleX,0,this.ruleX+W*.42,0);g.addColorStop(0,rgba(c.ga,.16*this.glowAlpha*spreadK));g.addColorStop(.35,rgba(c.gb,.06*this.glowAlpha*spreadK));g.addColorStop(1,rgba(c.gb,0));ctx.fillStyle=g;ctx.fillRect(this.ruleX,annot-6,reachX-this.ruleX,H-annot+6);ctx.save();ctx.globalCompositeOperation=\"destination-in\";var vg=ctx.createLinearGradient(0,annot-6,0,H);vg.addColorStop(0,\"rgba(0,0,0,0)\");vg.addColorStop(.18,\"rgba(0,0,0,1)\");vg.addColorStop(.82,\"rgba(0,0,0,1)\");vg.addColorStop(1,\"rgba(0,0,0,0)\");ctx.fillStyle=vg;ctx.fillRect(0,0,W,H);ctx.restore();}/* 2. bloom where the rule is born */if(spreadK>0){var bloomK=Math.sin(Math.PI*clamp(spreadK*1.1,0,1));var rad=laneH*(1.5+spreadK*this.lanes*.7);var bg=ctx.createRadialGradient(this.ruleX,oy,0,this.ruleX,oy,rad);var ba=(.22*bloomK+.04)*this.glowAlpha;bg.addColorStop(0,rgba(c.ga,ba));bg.addColorStop(.55,rgba(c.gb,ba*.35));bg.addColorStop(1,rgba(c.gb,0));ctx.fillStyle=bg;ctx.fillRect(0,0,W,H);}/* 3. session dots */var dr=this.small?1.35:1.6,fade=.035;for(var l=0;l<this.lanes;l++){var y=this.laneY(l),row=this.cells[l];for(var k=0;k<this.cols;k++){var v=row[k];if(!v)continue;var x=this.colX(k),f=x/W;if(f>p+1e-6)break;var a=clamp((p-f)/fade,0,1);ctx.fillStyle=rgba(c.dot,this.dotAlpha*v*(.35+.65*a));ctx.beginPath();ctx.arc(x,y,dr,0,6.2832);ctx.fill();}}/* 4. detection: arc linking the origin team's repeats + a leader to the chip */var det=clamp((T-TL.detect)/.9,0,1);if(det>0){var rs=this.originRepeats,arcA=(1-.55*settle)*(1-.4*clamp((T-TL.review)/.6,0,1));ctx.save();ctx.lineWidth=1;ctx.strokeStyle=rgba(c.repCore,.6*arcA);ctx.lineCap=\"round\";var pts=[],lift=laneH*.62;for(var q=0;q<rs.length-1;q++){var x0=rs[q].x,x1=rs[q+1].x,cx=(x0+x1)/2;for(var s=0;s<=24;s++){var u=s/24,yy=oy-Math.sin(Math.PI*u)*lift;pts.push([x0+(x1-x0)*u,yy]);}}var upto=Math.floor(pts.length*easeOut(det));ctx.beginPath();for(var z=0;z<upto;z++){if(z===0)ctx.moveTo(pts[z][0],pts[z][1]);else ctx.lineTo(pts[z][0],pts[z][1]);}ctx.stroke();// leader from chip to the arc while the pattern is being flagged\nvar lead=clamp((T-TL.detect-.5)/.4,0,1)*(1-clamp((T-TL.review+.1)/.35,0,1));if(lead>0){ctx.setLineDash([2,3]);ctx.strokeStyle=rgba(c.repCore,.55*lead);ctx.beginPath();ctx.moveTo(this.arcX,annot-12);ctx.lineTo(this.arcX,oy-lift-3);ctx.stroke();ctx.setLineDash([]);}ctx.restore();}/* 5. repeats before the rule */var beforeCount=0,dim=1-.5*ease(settle);this.before.forEach(function(e){if(e.f>p)return;var te=self.timeAt(e.f),age=T-te;beforeCount++;// pulse ring on arrival\nif(age<1.2){var pk=easeOut(age/1.2),rr=6+pk*20,ra=(1-pk)*.3;var rip=ctx.createRadialGradient(e.x,e.y,rr*.35,e.x,e.y,rr);rip.addColorStop(0,rgba(c.rep,0));rip.addColorStop(.8,rgba(c.rep,ra));rip.addColorStop(1,rgba(c.rep,0));ctx.fillStyle=rip;ctx.beginPath();ctx.arc(e.x,e.y,rr,0,6.2832);ctx.fill();}var r=3.4*backOut(age/.45);var halo=ctx.createRadialGradient(e.x,e.y,0,e.x,e.y,11);halo.addColorStop(0,rgba(c.rep,.38*dim));halo.addColorStop(1,rgba(c.rep,0));ctx.fillStyle=halo;ctx.beginPath();ctx.arc(e.x,e.y,11,0,6.2832);ctx.fill();ctx.fillStyle=rgba(c.repCore,.95*dim);ctx.beginPath();ctx.arc(e.x,e.y,Math.max(0,r),0,6.2832);ctx.fill();});/* 6. the rule line, growing from the origin team outward, and each team's plugin node */if(ruleOn){var grow=clamp((T-TL.review)/.5,0,1);var maxD=Math.max(o,this.lanes-1-o)+.5;var reach=spreadK*maxD;// lanes reached either side\nvar yTop=Math.max(annot-10,oy-(laneH*.5+reach*laneH)*1);var yBot=Math.min(H,oy+laneH*.5+reach*laneH);var startTop=oy-laneH*.45*grow,startBot=oy+laneH*.45*grow;if(spreadK>0){startTop=Math.max(annot-12,oy-laneH*.45-reach*laneH);startBot=yBot;}// chip-link: once the wave reaches the top lane, join the line to the chip\nif(spreadK>0&&oy-laneH*.45-reach*laneH<=annot)startTop=Math.max(annot-14,startTop);var lg=ctx.createLinearGradient(0,startTop,0,startBot);lg.addColorStop(0,rgba(c.a,.95));lg.addColorStop(1,rgba(c.b,.95));ctx.save();ctx.shadowColor=rgba(c.ga,.7*this.glowAlpha);ctx.shadowBlur=8;ctx.strokeStyle=lg;ctx.lineWidth=1.25;ctx.beginPath();ctx.moveTo(this.ruleX,startTop);ctx.lineTo(this.ruleX,startBot);ctx.stroke();ctx.restore();for(var ln=0;ln<this.lanes;ln++){var d=Math.abs(ln-o);var lit=ln===o?grow:clamp((reach-d+.5)/.6,0,1);if(lit<=0)continue;var ny=this.laneY(ln),s2=4.2*backOut(lit);var ng=ctx.createLinearGradient(this.ruleX-s2,ny-s2,this.ruleX+s2,ny+s2);ng.addColorStop(0,rgba(c.a,1));ng.addColorStop(1,rgba(c.b,1));// soft glow\nvar gl=ctx.createRadialGradient(this.ruleX,ny,0,this.ruleX,ny,14);gl.addColorStop(0,rgba(c.ga,.45*lit*this.glowAlpha));gl.addColorStop(1,rgba(c.ga,0));ctx.fillStyle=gl;ctx.beginPath();ctx.arc(this.ruleX,ny,14,0,6.2832);ctx.fill();ctx.fillStyle=ng;roundRect(ctx,this.ruleX-s2,ny-s2,s2*2,s2*2,1.8);ctx.fill();}}/* 7. attempts after the rule: caught by the plugin inside the session */var stoppedCount=0;this.stopped.forEach(function(e){if(e.f>p)return;var te=self.timeAt(e.f),age=T-te;var k1=clamp(age/.25,0,1),k2=easeOut((age-.15)/.55),k3=clamp((age-.45)/.5,0,1);if(k2>=.9)stoppedCount++;// a brief warm flicker: the mistake is about to happen...\nif(k3<1){ctx.fillStyle=rgba(c.repCore,.85*k1*(1-k3));ctx.beginPath();ctx.arc(e.x,e.y,2.8,0,6.2832);ctx.fill();}// ...and the plugin closes around it\nvar rr=12-7*k2;ctx.strokeStyle=rgba(c.a,(.25+.6*k2)*clamp(age/.2,0,1));ctx.lineWidth=1.2;ctx.beginPath();ctx.arc(e.x,e.y,rr,0,6.2832);ctx.stroke();ctx.fillStyle=rgba(c.dot,self.dotAlpha*1.6*k3);ctx.beginPath();ctx.arc(e.x,e.y,1.7,0,6.2832);ctx.fill();});/* 8. playhead */var phA=(T<TL.end-.3?1:clamp((TL.end-T)/.3+1,0,1))*clamp(T/.3,0,1);if(T>=TL.end)phA=0;if(phA>0&&p<1){var pg=ctx.createLinearGradient(0,annot,0,H);pg.addColorStop(0,rgba(c.dot,0));pg.addColorStop(.15,rgba(c.dot,.22*phA));pg.addColorStop(1,rgba(c.dot,.1*phA));ctx.fillStyle=pg;ctx.fillRect(Math.round(px)+0,annot,1,H-annot);}/* ---- DOM: chip, counters, steps ---- */this.sync(T,beforeCount,stoppedCount);};function roundRect(ctx,x,y,w,h,r){ctx.beginPath();ctx.moveTo(x+r,y);ctx.lineTo(x+w-r,y);ctx.quadraticCurveTo(x+w,y,x+w,y+r);ctx.lineTo(x+w,y+h-r);ctx.quadraticCurveTo(x+w,y+h,x+w-r,y+h);ctx.lineTo(x+r,y+h);ctx.quadraticCurveTo(x,y+h,x,y+h-r);ctx.lineTo(x,y+r);ctx.quadraticCurveTo(x,y,x+r,y);ctx.closePath();}LearnOnce.prototype.sync=function(T,nb,ns){var chip=this.chip;if(chip){var state=T>=TL.spread+TL.spreadDur?\"live\":T>=TL.review?\"rule\":T>=TL.detect+.35?\"detect\":\"\";if(chip.getAttribute(\"data-state\")!==state){if(state)chip.setAttribute(\"data-state\",state);else chip.removeAttribute(\"data-state\");chip.classList.toggle(\"is-on\",!!state);}var x=state===\"detect\"?this.arcX:this.ruleX;var cw=chip.offsetWidth||160,half=cw/2+2;x=clamp(x,half,this.W-half);var v=(x/this.W*100).toFixed(3)+\"%\";if(chip._x!==v){chip.style.setProperty(\"--lo-chip-x\",v);chip._x=v;}}if(this.out.before&&this.out.before._v!==nb){this.out.before.textContent=nb;this.out.before._v=nb;}var after=T>=TL.review?\"0\":\"–\";if(this.out.after&&this.out.after._v!==after){this.out.after.textContent=after;this.out.after._v=after;}var noteItem=this.out.stopped&&this.out.stopped.closest(\".lo-count__item\");if(noteItem)noteItem.classList.toggle(\"is-pending\",T<TL.review);if(this.out.stopped&&this.out.stopped._v!==ns){this.out.stopped.textContent=ns;this.out.stopped._v=ns;}var phase=T>=TL.spread?4:T>=TL.review?3:T>=TL.detect?2:T>0?1:0;if(this._phase!==phase){this.root.setAttribute(\"data-lo-phase\",phase);this._phase=phase;}// three steps (round 8): spots it -> fixes it automatically -> every plugin enforces it.\n// Older four-step markup still maps onto the same timeline.\nvar bounds=this.steps.length===3?[[0,TL.detect],[TL.detect,TL.spread],[TL.spread,TL.end-.4]]:[[0,TL.detect],[TL.detect,TL.review],[TL.review,TL.spread],[TL.spread,TL.end-.4]];for(var i=0;i<this.steps.length&&i<bounds.length;i++){var b=bounds[i],pr=clamp((T-b[0])/(b[1]-b[0]),0,1);var li=this.steps[i];li.style.setProperty(\"--lo-p\",pr.toFixed(3));li.classList.toggle(\"is-next\",T<b[0]);li.classList.toggle(\"is-on\",T>=b[0]&&T<b[1]);}};/* ---------- playback ---------- */LearnOnce.prototype.render=function(T){this.T=T;this.frame(T);};LearnOnce.prototype.showEnd=function(){this.root.classList.remove(\"is-playing\");this.root.classList.add(\"is-done\");this.render(TL.end+1);};LearnOnce.prototype.play=function(){var self=this;cancelAnimationFrame(this.raf);this.started=true;this.root.classList.add(\"is-playing\");this.root.classList.remove(\"is-done\");this.t0=performance.now()-this.T*1e3;var tick=function(now){var T=(now-self.t0)/1e3;if(T>=TL.end+.2){self.showEnd();if(self.mode===\"loop\")self.loopTimer=setTimeout(function(){if(self.visible)self.restart();else self.root.classList.add(\"is-stale\");},LOOP_HOLD);return;}self.render(T);self.raf=requestAnimationFrame(tick);};this.raf=requestAnimationFrame(tick);};LearnOnce.prototype.pause=function(){cancelAnimationFrame(this.raf);this.raf=0;};LearnOnce.prototype.restart=function(){clearTimeout(this.loopTimer);this.T=0;this.play();};LearnOnce.prototype.isStatic=function(){return reduceMQ.matches||this.mode===\"static\";};LearnOnce.prototype.bind=function(){var self=this;if(this.replay)this.replay.addEventListener(\"click\",function(){self.restart();});if(this.at!==null){this.root.classList.add(\"is-frozen\");this.root.classList.toggle(\"is-playing\",this.at<TL.end);this.render(this.at);this.root.classList.toggle(\"is-done\",this.at>=TL.end);return this.watchResize();}if(this.isStatic()||!(\"IntersectionObserver\"in window)||!window.requestAnimationFrame){this.showEnd();return this.watchResize();}this.render(0);this.root.classList.add(\"is-playing\");var io=new IntersectionObserver(function(en){self.visible=en[0].isIntersecting;if(self.visible){if(self.root.classList.contains(\"is-stale\")){self.root.classList.remove(\"is-stale\");self.restart();}else if(!self.root.classList.contains(\"is-done\"))self.play();}else if(self.raf)self.pause();},{threshold:.35});io.observe(this.root);this.watchResize();if(reduceMQ.addEventListener)reduceMQ.addEventListener(\"change\",function(){if(reduceMQ.matches){self.pause();self.showEnd();}});};LearnOnce.prototype.watchResize=function(){var self=this,lastW=this.field.clientWidth,pending=0;var onResize=function(){var w=self.field.clientWidth;if(w===lastW)return;lastW=w;cancelAnimationFrame(pending);pending=requestAnimationFrame(function(){self.readTheme();self.layout();self.frame(self.T);});};if(\"ResizeObserver\"in window)new ResizeObserver(onResize).observe(this.field);else window.addEventListener(\"resize\",onResize);};function init(){document.querySelectorAll(\".v-learn-once\").forEach(function(el){if(el._learnOnce||el._learnOncePending||!el.querySelector(\".lo-canvas\"))return;el._learnOncePending=true;var go=function(){el._learnOnce=new LearnOnce(el);};// wait for webfonts so the chip measures correctly\nif(document.fonts&&document.fonts.ready)document.fonts.ready.then(go);else go();});}window.xtLearnOnce={init:init};if(document.readyState===\"loading\")document.addEventListener(\"DOMContentLoaded\",init);else init();})();}/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n */export default function XTLearnOnce(props){const{style}=props;const animated=useAnimated();const host=React.useRef(null);let html=PRESETS[props.preset]||PRESETS[\"home\"];const setRootAttr=(k,v)=>{html=html.replace(/^(<[a-z]+)([^>]*?)(\\s${k}=\"[^\"]*\")?([^>]*>)/i,(m,a,b,c,d)=>a+b.replace(new RegExp(\"\\\\s\"+k+'=\"[^\"]*\"'),\"\")+(v==null?\"\":\" \"+k+'=\"'+v+'\"')+d);};const addRootClass=(c,on)=>{html=html.replace(/^(<[a-z]+[^>]*?class=\")([^\"]*)\"/i,(m,a,b)=>a+(on?b.split(\" \").includes(c)?b:b+\" \"+c:b.split(\" \").filter(x=>x!==c).join(\" \"))+'\"');};addRootClass(\"v-learn-once--light\",!!props.light);addRootClass(\"v-learn-once--compact\",!!props.compact);addRootClass(\"v-learn-once--bare\",!!props.bare);setRootAttr(\"data-play\",animated?props.play||\"loop\":\"static\");setRootAttr(\"data-at\",props.at>0?String(props.at):null);setRootAttr(\"data-seed\",props.seed>0?String(props.seed):null);const key=html.length+\":\"+JSON.stringify([props,animated].map(x=>x&&x.style?{...x,style:0}:x));React.useEffect(()=>{const box=host.current;if(!box)return;let el=null;let unsettle=()=>{};let cancelSized=()=>{};let untrack=()=>{};const cancel=afterPaint(()=>{cancelSized=whenSized(box,()=>{hidden(\"v-learn-once\",null,()=>once(\"xtLearnOnce\",install));el=box.querySelector(\".v-learn-once\");const api=window.xtLearnOnce;if(el&&api)hidden(\"v-learn-once\",el,()=>{untrack=track(()=>api.init(),()=>document.fonts&&document.fonts.ready?document.fonts.ready.then(()=>{}):undefined);});if(el&&!animated){}unsettle=settle(()=>el&&el._learnOnce);});});return()=>{cancel();cancelSized();unsettle();untrack();if(el)teardown(el._learnOnce);};},[key]);return /*#__PURE__*/_jsxs(\"div\",{ref:host,className:\"xtcc\"+(props.dark?\" xt-dark\":\"\"),\"aria-hidden\":props.decorative?\"true\":undefined,style:{width:\"100%\",fontFamily:\"var(--sans)\",letterSpacing:\"-0.04em\",color:\"var(--ink)\",WebkitFontSmoothing:\"antialiased\",...style},children:[/*#__PURE__*/_jsx(XTStyle,{css:XT_FONT_IMPORT}),/*#__PURE__*/_jsx(XTStyle,{css:XT_BASE_CSS+XT_LOCKUP_CSS+CSS}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"contents\"},dangerouslySetInnerHTML:{__html:html}},key)]});}XTLearnOnce.displayName=\"XT Learn once\";addPropertyControls(XTLearnOnce,{preset:{type:ControlType.Enum,title:\"Preset\",options:[\"home\",\"finops\"],optionTitles:[\"home (= governance)\",\"finops\"],defaultValue:\"home\"},light:{type:ControlType.Boolean,title:\"Light\",defaultValue:false},compact:{type:ControlType.Boolean,title:\"Compact\",defaultValue:false},bare:{type:ControlType.Boolean,title:\"Bare\",defaultValue:false},play:{type:ControlType.Enum,title:\"Play\",options:[\"loop\",\"view\",\"static\"],optionTitles:[\"Loop\",\"Once on view\",\"Static\"],defaultValue:\"loop\"},at:{type:ControlType.Number,title:\"Freeze at\",defaultValue:0,min:0,max:10.7,step:.1,unit:\"s\",description:\"0 = off\"},seed:{type:ControlType.Number,title:\"Seed\",defaultValue:0,min:0,max:99,step:1},decorative:{type:ControlType.Boolean,title:\"Hide from SR\",defaultValue:false,description:\"On when a native caption already says the same thing.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"XTLearnOnce\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./XTLearnOnce.map"],"mappings":"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"}