{"version":3,"file":"shared-lib.mz0be90R.mjs","names":["K","F","e","e.default","useState","useRef","useCallback","useMemo","React.useId","useLayoutEffect","useEffect","_Fragment","metadata","siteMetadata","__FramerMetadata__","KAISCapStore","React.forwardRef","useRef","React.useId","React.useMemo","metadataProvider","React.useContext","__FramerMetadata__"],"sources":["https:/ga.jspm.io/npm:react-dom@18.3.1/server.browser.js","https:/framerusercontent.com/modules/UFvXJ3is6hy3Bin7ndAr/k6Fm5Xz66B2jxSBqdp99/Cap_V4_1.js","https:/framerusercontent.com/modules/vKL9CkqZEo01CK7FixFC/rGYfEUpsko3yRhJMswE3/siteMetadata.js","https:/framerusercontent.com/modules/VdgQvBXR9BNCGCG0HG4J/YWS2YhFamVxCXwOdxXZS/oxFl8hLOT.js","https:/framerusercontent.com/modules/KFMV7hXqgzYo4oxjsOFk/O5U7PKrAg0OyKguak130/oxFl8hLOT.js","https:/framerusercontent.com/modules/iIOhmP5yfSYPpWokmOlc/lMLO0Mr16ASzlphiskbH/snippets.js"],"sourcesContent":["import*as e from\"react\";var n=e;try{\"default\"in e&&(n=e.default)}catch(e){}var a={};var o=n;function l$2(e){for(var n=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,a=1;a<arguments.length;a++)n+=\"&args[]=\"+encodeURIComponent(arguments[a]);return\"Minified React error #\"+e+\"; visit \"+n+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var l=Object.prototype.hasOwnProperty,i=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,s={},c={};function ja$1(e){if(l.call(c,e))return!0;if(l.call(s,e))return!1;if(i.test(e))return c[e]=!0;s[e]=!0;return!1}function r(e,n,a,o,l,i,s){this.acceptsBooleans=2===n||3===n||4===n;this.attributeName=o;this.attributeNamespace=l;this.mustUseProperty=a;this.propertyName=e;this.type=n;this.sanitizeURL=i;this.removeEmptyString=s}var d={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach((function(e){d[e]=new r(e,0,!1,e,null,!1,!1)}));[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach((function(e){var n=e[0];d[n]=new r(n,1,!1,e[1],null,!1,!1)}));[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach((function(e){d[e]=new r(e,2,!1,e.toLowerCase(),null,!1,!1)}));[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach((function(e){d[e]=new r(e,2,!1,e,null,!1,!1)}));\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach((function(e){d[e]=new r(e,3,!1,e.toLowerCase(),null,!1,!1)}));[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach((function(e){d[e]=new r(e,3,!0,e,null,!1,!1)}));[\"capture\",\"download\"].forEach((function(e){d[e]=new r(e,4,!1,e,null,!1,!1)}));[\"cols\",\"rows\",\"size\",\"span\"].forEach((function(e){d[e]=new r(e,6,!1,e,null,!1,!1)}));[\"rowSpan\",\"start\"].forEach((function(e){d[e]=new r(e,5,!1,e.toLowerCase(),null,!1,!1)}));var f=/[\\-:]([a-z])/g;function la$1(e){return e[1].toUpperCase()}\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach((function(e){var n=e.replace(f,la$1);d[n]=new r(n,1,!1,e,null,!1,!1)}));\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach((function(e){var n=e.replace(f,la$1);d[n]=new r(n,1,!1,e,\"http://www.w3.org/1999/xlink\",!1,!1)}));[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach((function(e){var n=e.replace(f,la$1);d[n]=new r(n,1,!1,e,\"http://www.w3.org/XML/1998/namespace\",!1,!1)}));[\"tabIndex\",\"crossOrigin\"].forEach((function(e){d[e]=new r(e,1,!1,e.toLowerCase(),null,!1,!1)}));d.xlinkHref=new r(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach((function(e){d[e]=new r(e,1,!1,e.toLowerCase(),null,!0,!0)}));var h={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},g=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(h).forEach((function(e){g.forEach((function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1);h[n]=h[e]}))}));var b=/[\"'&<>]/;function v(e){if(\"boolean\"===typeof e||\"number\"===typeof e)return\"\"+e;e=\"\"+e;var n=b.exec(e);if(n){var a,o=\"\",l=0;for(a=n.index;a<e.length;a++){switch(e.charCodeAt(a)){case 34:n=\"&quot;\";break;case 38:n=\"&amp;\";break;case 39:n=\"&#x27;\";break;case 60:n=\"&lt;\";break;case 62:n=\"&gt;\";break;default:continue}l!==a&&(o+=e.substring(l,a));l=a+1;o+=n}e=l!==a?o+e.substring(l,a):o}return e}var m=/([A-Z])/g,S=/^ms-/,x=Array.isArray;function w$1(e,n){return{insertionMode:e,selectedValue:n}}function ra$1(e,n,a){switch(n){case\"select\":return w$1(1,null!=a.value?a.value:a.defaultValue);case\"svg\":return w$1(2,null);case\"math\":return w$1(3,null);case\"foreignObject\":return w$1(1,null);case\"table\":return w$1(4,null);case\"thead\":case\"tbody\":case\"tfoot\":return w$1(5,null);case\"colgroup\":return w$1(7,null);case\"tr\":return w$1(6,null)}return 4<=e.insertionMode||0===e.insertionMode?w$1(1,null):e}var $=new Map;function ta$1(e,n,a){if(\"object\"!==typeof a)throw Error(l$2(62));n=!0;for(var o in a)if(l.call(a,o)){var i=a[o];if(null!=i&&\"boolean\"!==typeof i&&\"\"!==i){if(0===o.indexOf(\"--\")){var s=v(o);i=v((\"\"+i).trim())}else{s=o;var c=$.get(s);void 0!==c||(c=v(s.replace(m,\"-$1\").toLowerCase().replace(S,\"-ms-\")),$.set(s,c)),s=c;i=\"number\"===typeof i?0===i||l.call(h,o)?\"\"+i:i+\"px\":v((\"\"+i).trim())}n?(n=!1,e.push(' style=\"',s,\":\",i)):e.push(\";\",s,\":\",i)}}n||e.push('\"')}function x$1(e,n,a,o){switch(a){case\"style\":ta$1(e,n,o);return;case\"defaultValue\":case\"defaultChecked\":case\"innerHTML\":case\"suppressContentEditableWarning\":case\"suppressHydrationWarning\":return}if(!(2<a.length)||\"o\"!==a[0]&&\"O\"!==a[0]||\"n\"!==a[1]&&\"N\"!==a[1])if(n=d.hasOwnProperty(a)?d[a]:null,null!==n){switch(typeof o){case\"function\":case\"symbol\":return;case\"boolean\":if(!n.acceptsBooleans)return}a=n.attributeName;switch(n.type){case 3:o&&e.push(\" \",a,'=\"\"');break;case 4:!0===o?e.push(\" \",a,'=\"\"'):!1!==o&&e.push(\" \",a,'=\"',v(o),'\"');break;case 5:isNaN(o)||e.push(\" \",a,'=\"',v(o),'\"');break;case 6:!isNaN(o)&&1<=o&&e.push(\" \",a,'=\"',v(o),'\"');break;default:n.sanitizeURL&&(o=\"\"+o),e.push(\" \",a,'=\"',v(o),'\"')}}else if(ja$1(a)){switch(typeof o){case\"function\":case\"symbol\":return;case\"boolean\":if(n=a.toLowerCase().slice(0,5),\"data-\"!==n&&\"aria-\"!==n)return}e.push(\" \",a,'=\"',v(o),'\"')}}function y$1(e,n,a){if(null!=n){if(null!=a)throw Error(l$2(60));if(\"object\"!==typeof n||!(\"__html\"in n))throw Error(l$2(61));n=n.__html;null!==n&&void 0!==n&&e.push(\"\"+n)}}function ua$1(e){var n=\"\";o.Children.forEach(e,(function(e){null!=e&&(n+=e)}));return n}function va$1(e,n,a,o){e.push(A(a));var i,s=a=null;for(i in n)if(l.call(n,i)){var c=n[i];if(null!=c)switch(i){case\"children\":a=c;break;case\"dangerouslySetInnerHTML\":s=c;break;default:x$1(e,o,i,c)}}e.push(\">\");y$1(e,s,a);return\"string\"===typeof a?(e.push(v(a)),null):a}var E=/^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/,T=new Map;function A(e){var n=T.get(e);if(void 0===n){if(!E.test(e))throw Error(l$2(65,e));n=\"<\"+e;T.set(e,n)}return n}function ya$1(e,n,a,o,i){switch(n){case\"select\":e.push(A(\"select\"));var s=null,c=null;for(g in a)if(l.call(a,g)){var d=a[g];if(null!=d)switch(g){case\"children\":s=d;break;case\"dangerouslySetInnerHTML\":c=d;break;case\"defaultValue\":case\"value\":break;default:x$1(e,o,g,d)}}e.push(\">\");y$1(e,c,s);return s;case\"option\":c=i.selectedValue;e.push(A(\"option\"));var f=d=null,h=null;var g=null;for(s in a)if(l.call(a,s)){var b=a[s];if(null!=b)switch(s){case\"children\":d=b;break;case\"selected\":h=b;break;case\"dangerouslySetInnerHTML\":g=b;break;case\"value\":f=b;default:x$1(e,o,s,b)}}if(null!=c)if(a=null!==f?\"\"+f:ua$1(d),x(c)){for(o=0;o<c.length;o++)if(\"\"+c[o]===a){e.push(' selected=\"\"');break}}else\"\"+c===a&&e.push(' selected=\"\"');else h&&e.push(' selected=\"\"');e.push(\">\");y$1(e,g,d);return d;case\"textarea\":e.push(A(\"textarea\"));g=c=s=null;for(d in a)if(l.call(a,d)&&(f=a[d],null!=f))switch(d){case\"children\":g=f;break;case\"value\":s=f;break;case\"defaultValue\":c=f;break;case\"dangerouslySetInnerHTML\":throw Error(l$2(91));default:x$1(e,o,d,f)}null===s&&null!==c&&(s=c);e.push(\">\");if(null!=g){if(null!=s)throw Error(l$2(92));if(x(g)&&1<g.length)throw Error(l$2(93));s=\"\"+g}\"string\"===typeof s&&\"\\n\"===s[0]&&e.push(\"\\n\");null!==s&&e.push(v(\"\"+s));return null;case\"input\":e.push(A(\"input\"));f=g=d=s=null;for(c in a)if(l.call(a,c)&&(h=a[c],null!=h))switch(c){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(l$2(399,\"input\"));case\"defaultChecked\":f=h;break;case\"defaultValue\":d=h;break;case\"checked\":g=h;break;case\"value\":s=h;break;default:x$1(e,o,c,h)}null!==g?x$1(e,o,\"checked\",g):null!==f&&x$1(e,o,\"checked\",f);null!==s?x$1(e,o,\"value\",s):null!==d&&x$1(e,o,\"value\",d);e.push(\"/>\");return null;case\"menuitem\":e.push(A(\"menuitem\"));for(var m in a)if(l.call(a,m)&&(s=a[m],null!=s))switch(m){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(l$2(400));default:x$1(e,o,m,s)}e.push(\">\");return null;case\"title\":e.push(A(\"title\"));s=null;for(b in a)if(l.call(a,b)&&(c=a[b],null!=c))switch(b){case\"children\":s=c;break;case\"dangerouslySetInnerHTML\":throw Error(l$2(434));default:x$1(e,o,b,c)}e.push(\">\");return s;case\"listing\":case\"pre\":e.push(A(n));c=s=null;for(f in a)if(l.call(a,f)&&(d=a[f],null!=d))switch(f){case\"children\":s=d;break;case\"dangerouslySetInnerHTML\":c=d;break;default:x$1(e,o,f,d)}e.push(\">\");if(null!=c){if(null!=s)throw Error(l$2(60));if(\"object\"!==typeof c||!(\"__html\"in c))throw Error(l$2(61));a=c.__html;null!==a&&void 0!==a&&(\"string\"===typeof a&&0<a.length&&\"\\n\"===a[0]?e.push(\"\\n\",a):e.push(\"\"+a))}\"string\"===typeof s&&\"\\n\"===s[0]&&e.push(\"\\n\");return s;case\"area\":case\"base\":case\"br\":case\"col\":case\"embed\":case\"hr\":case\"img\":case\"keygen\":case\"link\":case\"meta\":case\"param\":case\"source\":case\"track\":case\"wbr\":e.push(A(n));for(var S in a)if(l.call(a,S)&&(s=a[S],null!=s))switch(S){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(l$2(399,n));default:x$1(e,o,S,s)}e.push(\"/>\");return null;case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return va$1(e,a,n,o);case\"html\":return 0===i.insertionMode&&e.push(\"<!DOCTYPE html>\"),va$1(e,a,n,o);default:if(-1===n.indexOf(\"-\")&&\"string\"!==typeof a.is)return va$1(e,a,n,o);e.push(A(n));c=s=null;for(h in a)if(l.call(a,h)&&(d=a[h],null!=d))switch(h){case\"children\":s=d;break;case\"dangerouslySetInnerHTML\":c=d;break;case\"style\":ta$1(e,o,d);break;case\"suppressContentEditableWarning\":case\"suppressHydrationWarning\":break;default:ja$1(h)&&\"function\"!==typeof d&&\"symbol\"!==typeof d&&e.push(\" \",h,'=\"',v(d),'\"')}e.push(\">\");y$1(e,c,s);return s}}function za$1(e,n,a){e.push('\\x3c!--$?--\\x3e<template id=\"');if(null===a)throw Error(l$2(395));e.push(a);return e.push('\"></template>')}function Aa$1(e,n,a,o){switch(a.insertionMode){case 0:case 1:return e.push('<div hidden id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 2:return e.push('<svg aria-hidden=\"true\" style=\"display:none\" id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 3:return e.push('<math aria-hidden=\"true\" style=\"display:none\" id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 4:return e.push('<table hidden id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 5:return e.push('<table hidden><tbody id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 6:return e.push('<table hidden><tr id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');case 7:return e.push('<table hidden><colgroup id=\"'),e.push(n.segmentPrefix),n=o.toString(16),e.push(n),e.push('\">');default:throw Error(l$2(397))}}function Ba$1(e,n){switch(n.insertionMode){case 0:case 1:return e.push(\"</div>\");case 2:return e.push(\"</svg>\");case 3:return e.push(\"</math>\");case 4:return e.push(\"</table>\");case 5:return e.push(\"</tbody></table>\");case 6:return e.push(\"</tr></table>\");case 7:return e.push(\"</colgroup></table>\");default:throw Error(l$2(397))}}var R=/[<\\u2028\\u2029]/g;function Da$1(e){return JSON.stringify(e).replace(R,(function(e){switch(e){case\"<\":return\"\\\\u003c\";case\"\\u2028\":return\"\\\\u2028\";case\"\\u2029\":return\"\\\\u2029\";default:throw Error(\"escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\")}}))}function Ea$1(e,n){n=void 0===n?\"\":n;return{bootstrapChunks:[],startInlineScript:\"<script>\",placeholderPrefix:n+\"P:\",segmentPrefix:n+\"S:\",boundaryPrefix:n+\"B:\",idPrefix:n,nextSuspenseID:0,sentCompleteSegmentFunction:!1,sentCompleteBoundaryFunction:!1,sentClientRenderFunction:!1,generateStaticMarkup:e}}function Fa$1(e,n,a,o){if(a.generateStaticMarkup)return e.push(v(n)),!1;\"\"===n?e=o:(o&&e.push(\"\\x3c!-- --\\x3e\"),e.push(v(n)),e=!0);return e}var _=Object.assign,I=Symbol.for(\"react.element\"),B=Symbol.for(\"react.portal\"),N=Symbol.for(\"react.fragment\"),z=Symbol.for(\"react.strict_mode\"),V=Symbol.for(\"react.profiler\"),j=Symbol.for(\"react.provider\"),O=Symbol.for(\"react.context\"),H=Symbol.for(\"react.forward_ref\"),U=Symbol.for(\"react.suspense\"),K=Symbol.for(\"react.suspense_list\"),ee=Symbol.for(\"react.memo\"),te=Symbol.for(\"react.lazy\"),ne=Symbol.for(\"react.scope\"),re=Symbol.for(\"react.debug_trace_mode\"),ae=Symbol.for(\"react.legacy_hidden\"),oe=Symbol.for(\"react.default_value\"),le=Symbol.iterator;function Xa$1(e){if(null==e)return null;if(\"function\"===typeof e)return e.displayName||e.name||null;if(\"string\"===typeof e)return e;switch(e){case N:return\"Fragment\";case B:return\"Portal\";case V:return\"Profiler\";case z:return\"StrictMode\";case U:return\"Suspense\";case K:return\"SuspenseList\"}if(\"object\"===typeof e)switch(e.$$typeof){case O:return(e.displayName||\"Context\")+\".Consumer\";case j:return(e._context.displayName||\"Context\")+\".Provider\";case H:var n=e.render;e=e.displayName;e||(e=n.displayName||n.name||\"\",e=\"\"!==e?\"ForwardRef(\"+e+\")\":\"ForwardRef\");return e;case ee:return n=e.displayName||null,null!==n?n:Xa$1(e.type)||\"Memo\";case te:n=e._payload;e=e._init;try{return Xa$1(e(n))}catch(e){}}return null}var ue={};function Za$1(e,n){e=e.contextTypes;if(!e)return ue;var a,o={};for(a in e)o[a]=n[a];return o}var ie=null;function F(e,n){if(e!==n){e.context._currentValue2=e.parentValue;e=e.parent;var a=n.parent;if(null===e){if(null!==a)throw Error(l$2(401))}else{if(null===a)throw Error(l$2(401));F(e,a)}n.context._currentValue2=n.value}}function $a$1(e){e.context._currentValue2=e.parentValue;e=e.parent;null!==e&&$a$1(e)}function ab$1(e){var n=e.parent;null!==n&&ab$1(n);e.context._currentValue2=e.value}function bb$1(e,n){e.context._currentValue2=e.parentValue;e=e.parent;if(null===e)throw Error(l$2(402));e.depth===n.depth?F(e,n):bb$1(e,n)}function cb$1(e,n){var a=n.parent;if(null===a)throw Error(l$2(402));e.depth===a.depth?F(e,a):cb$1(e,a);n.context._currentValue2=n.value}function G(e){var n=ie;n!==e&&(null===n?ab$1(e):null===e?$a$1(n):n.depth===e.depth?F(n,e):n.depth>e.depth?bb$1(n,e):cb$1(n,e),ie=e)}var se={isMounted:function(){return!1},enqueueSetState:function(e,n){e=e._reactInternals;null!==e.queue&&e.queue.push(n)},enqueueReplaceState:function(e,n){e=e._reactInternals;e.replace=!0;e.queue=[n]},enqueueForceUpdate:function(){}};function eb$1(e,n,a,o){var l=void 0!==e.state?e.state:null;e.updater=se;e.props=a;e.state=l;var i={queue:[],replace:!1};e._reactInternals=i;var s=n.contextType;e.context=\"object\"===typeof s&&null!==s?s._currentValue2:o;s=n.getDerivedStateFromProps;\"function\"===typeof s&&(s=s(a,l),l=null===s||void 0===s?l:_({},l,s),e.state=l);if(\"function\"!==typeof n.getDerivedStateFromProps&&\"function\"!==typeof e.getSnapshotBeforeUpdate&&(\"function\"===typeof e.UNSAFE_componentWillMount||\"function\"===typeof e.componentWillMount))if(n=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),n!==e.state&&se.enqueueReplaceState(e,e.state,null),null!==i.queue&&0<i.queue.length)if(n=i.queue,s=i.replace,i.queue=null,i.replace=!1,s&&1===n.length)e.state=n[0];else{i=s?n[0]:e.state;l=!0;for(s=s?1:0;s<n.length;s++){var c=n[s];c=\"function\"===typeof c?c.call(e,i,a,o):c;null!=c&&(l?(l=!1,i=_({},i,c)):_(i,c))}e.state=i}else i.queue=null}var ce={id:1,overflow:\"\"};function gb$1(e,n,a){var o=e.id;e=e.overflow;var l=32-de(o)-1;o&=~(1<<l);a+=1;var i=32-de(n)+l;if(30<i){var s=l-l%5;i=(o&(1<<s)-1).toString(32);o>>=s;l-=s;return{id:1<<32-de(n)+l|a<<l|o,overflow:i+e}}return{id:1<<i|a<<l|o,overflow:e}}var de=Math.clz32?Math.clz32:hb$1,fe=Math.log,pe=Math.LN2;function hb$1(e){e>>>=0;return 0===e?32:31-(fe(e)/pe|0)|0}function kb$1(e,n){return e===n&&(0!==e||1/e===1/n)||e!==e&&n!==n}var he=\"function\"===typeof Object.is?Object.is:kb$1,ge=null,be=null,me=null,ye=null,ve=!1,ke=!1,we=0,Se=null,xe=0;function Q$1(){if(null===ge)throw Error(l$2(321));return ge}function pb$1(){if(0<xe)throw Error(l$2(312));return{memoizedState:null,queue:null,next:null}}function qb$1(){null===ye?null===me?(ve=!1,me=ye=pb$1()):(ve=!0,ye=me):null===ye.next?(ve=!1,ye=ye.next=pb$1()):(ve=!0,ye=ye.next);return ye}function rb$1(){be=ge=null;ke=!1;me=null;xe=0;ye=Se=null}function sb$1(e,n){return\"function\"===typeof n?n(e):n}function tb$1(e,n,a){ge=Q$1();ye=qb$1();if(ve){var o=ye.queue;n=o.dispatch;if(null!==Se&&(a=Se.get(o),void 0!==a)){Se.delete(o);o=ye.memoizedState;do{o=e(o,a.action),a=a.next}while(null!==a);ye.memoizedState=o;return[o,n]}return[ye.memoizedState,n]}e=e===sb$1?\"function\"===typeof n?n():n:void 0!==a?a(n):n;ye.memoizedState=e;e=ye.queue={last:null,dispatch:null};e=e.dispatch=ub$1.bind(null,ge,e);return[ye.memoizedState,e]}function vb$1(e,n){ge=Q$1();ye=qb$1();n=void 0===n?null:n;if(null!==ye){var a=ye.memoizedState;if(null!==a&&null!==n){var o=a[1];e:if(null===o)o=!1;else{for(var l=0;l<o.length&&l<n.length;l++)if(!he(n[l],o[l])){o=!1;break e}o=!0}if(o)return a[0]}}e=e();ye.memoizedState=[e,n];return e}function ub$1(e,n,a){if(25<=xe)throw Error(l$2(301));if(e===ge)if(ke=!0,e={action:a,next:null},null===Se&&(Se=new Map),a=Se.get(n),void 0===a)Se.set(n,e);else{for(n=a;null!==n.next;)n=n.next;n.next=e}}function wb$1(){throw Error(l$2(394))}function R$1(){}var $e={readContext:function(e){return e._currentValue2},useContext:function(e){Q$1();return e._currentValue2},useMemo:vb$1,useReducer:tb$1,useRef:function(e){ge=Q$1();ye=qb$1();var n=ye.memoizedState;return null===n?(e={current:e},ye.memoizedState=e):n},useState:function(e){return tb$1(sb$1,e)},useInsertionEffect:R$1,useLayoutEffect:function(){},useCallback:function(e,n){return vb$1((function(){return e}),n)},useImperativeHandle:R$1,useEffect:R$1,useDebugValue:R$1,useDeferredValue:function(e){Q$1();return e},useTransition:function(){Q$1();return[!1,wb$1]},useId:function(){var e=be.treeContext;var n=e.overflow;e=e.id;e=(e&~(1<<32-de(e)-1)).toString(32)+n;var a=Ce;if(null===a)throw Error(l$2(404));n=we++;e=\":\"+a.idPrefix+\"R\"+e;0<n&&(e+=\"H\"+n.toString(32));return e+\":\"},useMutableSource:function(e,n){Q$1();return n(e._source)},useSyncExternalStore:function(e,n,a){if(void 0===a)throw Error(l$2(407));return a()}},Ce=null,Ee=o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher;function zb$1(e){console.error(e);return null}function T$1(){}function Ab$1(e,n,a,o,l,i,s,c,d){var f=[],h=new Set;n={destination:null,responseState:n,progressiveChunkSize:void 0===o?12800:o,status:0,fatalError:null,nextSegmentId:0,allPendingTasks:0,pendingRootTasks:0,completedRootSegment:null,abortableTasks:h,pingedTasks:f,clientRenderedBoundaries:[],completedBoundaries:[],partialBoundaries:[],onError:void 0===l?zb$1:l,onAllReady:void 0===i?T$1:i,onShellReady:void 0===s?T$1:s,onShellError:void 0===c?T$1:c,onFatalError:void 0===d?T$1:d};a=U$1(n,0,null,a,!1,!1);a.parentFlushed=!0;e=Bb$1(n,e,null,a,h,ue,null,ce);f.push(e);return n}function Bb$1(e,n,a,o,l,i,s,c){e.allPendingTasks++;null===a?e.pendingRootTasks++:a.pendingTasks++;var d={node:n,ping:function(){var n=e.pingedTasks;n.push(d);1===n.length&&Cb$1(e)},blockedBoundary:a,blockedSegment:o,abortSet:l,legacyContext:i,context:s,treeContext:c};l.add(d);return d}function U$1(e,n,a,o,l,i){return{status:0,id:-1,index:n,parentFlushed:!1,chunks:[],children:[],formatContext:o,boundary:a,lastPushedText:l,textEmbedded:i}}function V$1(e,n){e=e.onError(n);if(null!=e&&\"string\"!==typeof e)throw Error('onError returned something with a type other than \"string\". onError should return a string and may return null or undefined but must not return anything else. It received something of type \"'+typeof e+'\" instead');return e}function W$1(e,n){var a=e.onShellError;a(n);a=e.onFatalError;a(n);null!==e.destination?(e.status=2,e.destination.destroy(n)):(e.status=1,e.fatalError=n)}function Db$1(e,n,a,o,l){ge={};be=n;we=0;for(e=a(o,l);ke;)ke=!1,we=0,xe+=1,ye=null,e=a(o,l);rb$1();return e}function Eb$1(e,n,a,o){var l=a.render(),i=o.childContextTypes;if(null!==i&&void 0!==i){var s=n.legacyContext;if(\"function\"!==typeof a.getChildContext)o=s;else{a=a.getChildContext();for(var c in a)if(!(c in i))throw Error(l$2(108,Xa$1(o)||\"Unknown\",c));o=_({},s,a)}n.legacyContext=o;X$1(e,n,l);n.legacyContext=s}else X$1(e,n,l)}function Fb(e,n){if(e&&e.defaultProps){n=_({},n);e=e.defaultProps;for(var a in e)void 0===n[a]&&(n[a]=e[a]);return n}return n}function Gb$1(e,n,a,o,l){if(\"function\"===typeof a)if(a.prototype&&a.prototype.isReactComponent){l=Za$1(a,n.legacyContext);var i=a.contextType;i=new a(o,\"object\"===typeof i&&null!==i?i._currentValue2:l);eb$1(i,a,o,l);Eb$1(e,n,i,a)}else{i=Za$1(a,n.legacyContext);l=Db$1(e,n,a,o,i);var s=0!==we;if(\"object\"===typeof l&&null!==l&&\"function\"===typeof l.render&&void 0===l.$$typeof)eb$1(l,a,o,i),Eb$1(e,n,l,a);else if(s){o=n.treeContext;n.treeContext=gb$1(o,1,0);try{X$1(e,n,l)}finally{n.treeContext=o}}else X$1(e,n,l)}else{if(\"string\"!==typeof a){switch(a){case ae:case re:case z:case V:case N:X$1(e,n,o.children);return;case K:X$1(e,n,o.children);return;case ne:throw Error(l$2(343));case U:e:{a=n.blockedBoundary;l=n.blockedSegment;i=o.fallback;o=o.children;s=new Set;var c={id:null,rootSegmentID:-1,parentFlushed:!1,pendingTasks:0,forceClientRender:!1,completedSegments:[],byteSize:0,fallbackAbortableTasks:s,errorDigest:null},d=U$1(e,l.chunks.length,c,l.formatContext,!1,!1);l.children.push(d);l.lastPushedText=!1;var f=U$1(e,0,null,l.formatContext,!1,!1);f.parentFlushed=!0;n.blockedBoundary=c;n.blockedSegment=f;try{if(Hb$1(e,n,o),e.responseState.generateStaticMarkup||f.lastPushedText&&f.textEmbedded&&f.chunks.push(\"\\x3c!-- --\\x3e\"),f.status=1,Y$1(c,f),0===c.pendingTasks)break e}catch(n){f.status=4,c.forceClientRender=!0,c.errorDigest=V$1(e,n)}finally{n.blockedBoundary=a,n.blockedSegment=l}n=Bb$1(e,i,a,d,s,n.legacyContext,n.context,n.treeContext);e.pingedTasks.push(n)}return}if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case H:o=Db$1(e,n,a.render,o,l);if(0!==we){a=n.treeContext;n.treeContext=gb$1(a,1,0);try{X$1(e,n,o)}finally{n.treeContext=a}}else X$1(e,n,o);return;case ee:a=a.type;o=Fb(a,o);Gb$1(e,n,a,o,l);return;case j:l=o.children;a=a._context;o=o.value;i=a._currentValue2;a._currentValue2=o;s=ie;ie=o={parent:s,depth:null===s?0:s.depth+1,context:a,parentValue:i,value:o};n.context=o;X$1(e,n,l);e=ie;if(null===e)throw Error(l$2(403));o=e.parentValue;e.context._currentValue2=o===oe?e.context._defaultValue:o;e=ie=e.parent;n.context=e;return;case O:o=o.children;o=o(a._currentValue2);X$1(e,n,o);return;case te:l=a._init;a=l(a._payload);o=Fb(a,o);Gb$1(e,n,a,o,void 0);return}throw Error(l$2(130,null==a?a:typeof a,\"\"))}l=n.blockedSegment;i=ya$1(l.chunks,a,o,e.responseState,l.formatContext);l.lastPushedText=!1;s=l.formatContext;l.formatContext=ra$1(s,a,o);Hb$1(e,n,i);l.formatContext=s;switch(a){case\"area\":case\"base\":case\"br\":case\"col\":case\"embed\":case\"hr\":case\"img\":case\"input\":case\"keygen\":case\"link\":case\"meta\":case\"param\":case\"source\":case\"track\":case\"wbr\":break;default:l.chunks.push(\"</\",a,\">\")}l.lastPushedText=!1}}function X$1(e,n,a){n.node=a;if(\"object\"===typeof a&&null!==a){switch(a.$$typeof){case I:Gb$1(e,n,a.type,a.props,a.ref);return;case B:throw Error(l$2(257));case te:var o=a._init;a=o(a._payload);X$1(e,n,a);return}if(x(a)){Ib$1(e,n,a);return}null===a||\"object\"!==typeof a?o=null:(o=le&&a[le]||a[\"@@iterator\"],o=\"function\"===typeof o?o:null);if(o&&(o=o.call(a))){a=o.next();if(!a.done){var l=[];do{l.push(a.value),a=o.next()}while(!a.done);Ib$1(e,n,l)}return}e=Object.prototype.toString.call(a);throw Error(l$2(31,\"[object Object]\"===e?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":e))}\"string\"===typeof a?(o=n.blockedSegment,o.lastPushedText=Fa$1(n.blockedSegment.chunks,a,e.responseState,o.lastPushedText)):\"number\"===typeof a&&(o=n.blockedSegment,o.lastPushedText=Fa$1(n.blockedSegment.chunks,\"\"+a,e.responseState,o.lastPushedText))}function Ib$1(e,n,a){for(var o=a.length,l=0;l<o;l++){var i=n.treeContext;n.treeContext=gb$1(i,o,l);try{Hb$1(e,n,a[l])}finally{n.treeContext=i}}}function Hb$1(e,n,a){var o=n.blockedSegment.formatContext,l=n.legacyContext,i=n.context;try{return X$1(e,n,a)}catch(d){if(rb$1(),\"object\"!==typeof d||null===d||\"function\"!==typeof d.then)throw n.blockedSegment.formatContext=o,n.legacyContext=l,n.context=i,G(i),d;a=d;var s=n.blockedSegment,c=U$1(e,s.chunks.length,null,s.formatContext,s.lastPushedText,!0);s.children.push(c);s.lastPushedText=!1;e=Bb$1(e,n.node,n.blockedBoundary,c,n.abortSet,n.legacyContext,n.context,n.treeContext).ping;a.then(e,e);n.blockedSegment.formatContext=o;n.legacyContext=l;n.context=i;G(i)}}function Jb$1(e){var n=e.blockedBoundary;e=e.blockedSegment;e.status=3;Kb$1(this,n,e)}function Lb$1(e,n,a){var o=e.blockedBoundary;e.blockedSegment.status=3;null===o?(n.allPendingTasks--,2!==n.status&&(n.status=2,null!==n.destination&&n.destination.push(null))):(o.pendingTasks--,o.forceClientRender||(o.forceClientRender=!0,e=void 0===a?Error(l$2(432)):a,o.errorDigest=n.onError(e),o.parentFlushed&&n.clientRenderedBoundaries.push(o)),o.fallbackAbortableTasks.forEach((function(e){return Lb$1(e,n,a)})),o.fallbackAbortableTasks.clear(),n.allPendingTasks--,0===n.allPendingTasks&&(o=n.onAllReady,o()))}function Y$1(e,n){if(0===n.chunks.length&&1===n.children.length&&null===n.children[0].boundary){var a=n.children[0];a.id=n.id;a.parentFlushed=!0;1===a.status&&Y$1(e,a)}else e.completedSegments.push(n)}function Kb$1(e,n,a){if(null===n){if(a.parentFlushed){if(null!==e.completedRootSegment)throw Error(l$2(389));e.completedRootSegment=a}e.pendingRootTasks--;0===e.pendingRootTasks&&(e.onShellError=T$1,n=e.onShellReady,n())}else n.pendingTasks--,n.forceClientRender||(0===n.pendingTasks?(a.parentFlushed&&1===a.status&&Y$1(n,a),n.parentFlushed&&e.completedBoundaries.push(n),n.fallbackAbortableTasks.forEach(Jb$1,e),n.fallbackAbortableTasks.clear()):a.parentFlushed&&1===a.status&&(Y$1(n,a),1===n.completedSegments.length&&n.parentFlushed&&e.partialBoundaries.push(n)));e.allPendingTasks--;0===e.allPendingTasks&&(e=e.onAllReady,e())}function Cb$1(e){if(2!==e.status){var n=ie,a=Ee.current;Ee.current=$e;var o=Ce;Ce=e.responseState;try{var l,i=e.pingedTasks;for(l=0;l<i.length;l++){var s=i[l];var c=e,d=s.blockedSegment;if(0===d.status){G(s.context);try{X$1(c,s,s.node),c.responseState.generateStaticMarkup||d.lastPushedText&&d.textEmbedded&&d.chunks.push(\"\\x3c!-- --\\x3e\"),s.abortSet.delete(s),d.status=1,Kb$1(c,s.blockedBoundary,d)}catch(e){if(rb$1(),\"object\"===typeof e&&null!==e&&\"function\"===typeof e.then){var f=s.ping;e.then(f,f)}else{s.abortSet.delete(s);d.status=4;var h=s.blockedBoundary,g=e,b=V$1(c,g);null===h?W$1(c,g):(h.pendingTasks--,h.forceClientRender||(h.forceClientRender=!0,h.errorDigest=b,h.parentFlushed&&c.clientRenderedBoundaries.push(h)));c.allPendingTasks--;if(0===c.allPendingTasks){var m=c.onAllReady;m()}}}}}i.splice(0,l);null!==e.destination&&Mb$1(e,e.destination)}catch(n){V$1(e,n),W$1(e,n)}finally{Ce=o,Ee.current=a,a===$e&&G(n)}}}function Z$1(e,n,a){a.parentFlushed=!0;switch(a.status){case 0:var o=a.id=e.nextSegmentId++;a.lastPushedText=!1;a.textEmbedded=!1;e=e.responseState;n.push('<template id=\"');n.push(e.placeholderPrefix);e=o.toString(16);n.push(e);return n.push('\"></template>');case 1:a.status=2;var l=!0;o=a.chunks;var i=0;a=a.children;for(var s=0;s<a.length;s++){for(l=a[s];i<l.index;i++)n.push(o[i]);l=Nb$1(e,n,l)}for(;i<o.length-1;i++)n.push(o[i]);i<o.length&&(l=n.push(o[i]));return l;default:throw Error(l$2(390))}}function Nb$1(e,n,a){var o=a.boundary;if(null===o)return Z$1(e,n,a);o.parentFlushed=!0;if(o.forceClientRender)return e.responseState.generateStaticMarkup||(o=o.errorDigest,n.push(\"\\x3c!--$!--\\x3e\"),n.push(\"<template\"),o&&(n.push(' data-dgst=\"'),o=v(o),n.push(o),n.push('\"')),n.push(\"></template>\")),Z$1(e,n,a),e=!!e.responseState.generateStaticMarkup||n.push(\"\\x3c!--/$--\\x3e\"),e;if(0<o.pendingTasks){o.rootSegmentID=e.nextSegmentId++;0<o.completedSegments.length&&e.partialBoundaries.push(o);var l=e.responseState;var i=l.nextSuspenseID++;l=l.boundaryPrefix+i.toString(16);o=o.id=l;za$1(n,e.responseState,o);Z$1(e,n,a);return n.push(\"\\x3c!--/$--\\x3e\")}if(o.byteSize>e.progressiveChunkSize)return o.rootSegmentID=e.nextSegmentId++,e.completedBoundaries.push(o),za$1(n,e.responseState,o.id),Z$1(e,n,a),n.push(\"\\x3c!--/$--\\x3e\");e.responseState.generateStaticMarkup||n.push(\"\\x3c!--$--\\x3e\");a=o.completedSegments;if(1!==a.length)throw Error(l$2(391));Nb$1(e,n,a[0]);e=!!e.responseState.generateStaticMarkup||n.push(\"\\x3c!--/$--\\x3e\");return e}function Ob$1(e,n,a){Aa$1(n,e.responseState,a.formatContext,a.id);Nb$1(e,n,a);return Ba$1(n,a.formatContext)}function Pb$1(e,n,a){for(var o=a.completedSegments,l=0;l<o.length;l++)Qb$1(e,n,a,o[l]);o.length=0;e=e.responseState;o=a.id;a=a.rootSegmentID;n.push(e.startInlineScript);e.sentCompleteBoundaryFunction?n.push('$RC(\"'):(e.sentCompleteBoundaryFunction=!0,n.push('function $RC(a,b){a=document.getElementById(a);b=document.getElementById(b);b.parentNode.removeChild(b);if(a){a=a.previousSibling;var f=a.parentNode,c=a.nextSibling,e=0;do{if(c&&8===c.nodeType){var d=c.data;if(\"/$\"===d)if(0===e)break;else e--;else\"$\"!==d&&\"$?\"!==d&&\"$!\"!==d||e++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;b.firstChild;)f.insertBefore(b.firstChild,c);a.data=\"$\";a._reactRetry&&a._reactRetry()}};$RC(\"'));if(null===o)throw Error(l$2(395));a=a.toString(16);n.push(o);n.push('\",\"');n.push(e.segmentPrefix);n.push(a);return n.push('\")<\\/script>')}function Qb$1(e,n,a,o){if(2===o.status)return!0;var l=o.id;if(-1===l){if(-1===(o.id=a.rootSegmentID))throw Error(l$2(392));return Ob$1(e,n,o)}Ob$1(e,n,o);e=e.responseState;n.push(e.startInlineScript);e.sentCompleteSegmentFunction?n.push('$RS(\"'):(e.sentCompleteSegmentFunction=!0,n.push('function $RS(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS(\"'));n.push(e.segmentPrefix);l=l.toString(16);n.push(l);n.push('\",\"');n.push(e.placeholderPrefix);n.push(l);return n.push('\")<\\/script>')}function Mb$1(e,n){try{var a=e.completedRootSegment;if(null!==a&&0===e.pendingRootTasks){Nb$1(e,n,a);e.completedRootSegment=null;var o=e.responseState.bootstrapChunks;for(a=0;a<o.length-1;a++)n.push(o[a]);a<o.length&&n.push(o[a])}var l,i=e.clientRenderedBoundaries;for(l=0;l<i.length;l++){var s=i[l];o=n;var c=e.responseState,d=s.id,f=s.errorDigest,h=s.errorMessage,g=s.errorComponentStack;o.push(c.startInlineScript);c.sentClientRenderFunction?o.push('$RX(\"'):(c.sentClientRenderFunction=!0,o.push('function $RX(b,c,d,e){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data=\"$!\",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),b._reactRetry&&b._reactRetry())};$RX(\"'));if(null===d)throw Error(l$2(395));o.push(d);o.push('\"');if(f||h||g){o.push(\",\");var b=Da$1(f||\"\");o.push(b)}if(h||g){o.push(\",\");var m=Da$1(h||\"\");o.push(m)}if(g){o.push(\",\");var S=Da$1(g);o.push(S)}if(!o.push(\")<\\/script>\")){e.destination=null;l++;i.splice(0,l);return}}i.splice(0,l);var x=e.completedBoundaries;for(l=0;l<x.length;l++)if(!Pb$1(e,n,x[l])){e.destination=null;l++;x.splice(0,l);return}x.splice(0,l);var $=e.partialBoundaries;for(l=0;l<$.length;l++){var E=$[l];e:{i=e;s=n;var T=E.completedSegments;for(c=0;c<T.length;c++)if(!Qb$1(i,s,E,T[c])){c++;T.splice(0,c);var R=!1;break e}T.splice(0,c);R=!0}if(!R){e.destination=null;l++;$.splice(0,l);return}}$.splice(0,l);var _=e.completedBoundaries;for(l=0;l<_.length;l++)if(!Pb$1(e,n,_[l])){e.destination=null;l++;_.splice(0,l);return}_.splice(0,l)}finally{0===e.allPendingTasks&&0===e.pingedTasks.length&&0===e.clientRenderedBoundaries.length&&0===e.completedBoundaries.length&&n.push(null)}}function Rb$1(e,n){try{var a=e.abortableTasks;a.forEach((function(a){return Lb$1(a,e,n)}));a.clear();null!==e.destination&&Mb$1(e,e.destination)}catch(n){V$1(e,n),W$1(e,n)}}function Sb$1(){}function Tb$1(e,n,a,o){var l=!1,i=null,s=\"\",c={push:function(e){null!==e&&(s+=e);return!0},destroy:function(e){l=!0;i=e}},d=!1;e=Ab$1(e,Ea$1(a,n?n.identifierPrefix:void 0),{insertionMode:1,selectedValue:null},Infinity,Sb$1,void 0,(function(){d=!0}),void 0,void 0);Cb$1(e);Rb$1(e,o);if(1===e.status)e.status=2,c.destroy(e.fatalError);else if(2!==e.status&&null===e.destination){e.destination=c;try{Mb$1(e,c)}catch(n){V$1(e,n),W$1(e,n)}}if(l)throw i;if(!d)throw Error(l$2(426));return s}a.renderToNodeStream=function(){throw Error(l$2(207))};a.renderToStaticMarkup=function(e,n){return Tb$1(e,n,!0,'The server used \"renderToStaticMarkup\" which does not support Suspense. If you intended to have the server wait for the suspended component please switch to \"renderToReadableStream\" which supports Suspense on the server')};a.renderToStaticNodeStream=function(){throw Error(l$2(208))};a.renderToString=function(e,n){return Tb$1(e,n,!1,'The server used \"renderToString\" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to \"renderToReadableStream\" which supports Suspense on the server')};a.version=\"18.3.1\";var Fe=e;try{\"default\"in e&&(Fe=e.default)}catch(e){}var Te={};var Re=Fe;function k(e){for(var n=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,a=1;a<arguments.length;a++)n+=\"&args[]=\"+encodeURIComponent(arguments[a]);return\"Minified React error #\"+e+\"; visit \"+n+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var Pe=null,_e=0;function p(e,n){if(0!==n.length)if(512<n.length)0<_e&&(e.enqueue(new Uint8Array(Pe.buffer,0,_e)),Pe=new Uint8Array(512),_e=0),e.enqueue(n);else{var a=Pe.length-_e;a<n.length&&(0===a?e.enqueue(Pe):(Pe.set(n.subarray(0,a),_e),e.enqueue(Pe),n=n.subarray(a)),Pe=new Uint8Array(512),_e=0);Pe.set(n,_e);_e+=n.length}}function t(e,n){p(e,n);return!0}function ba(e){Pe&&0<_e&&(e.enqueue(new Uint8Array(Pe.buffer,0,_e)),Pe=null,_e=0)}var Me=new TextEncoder;function u(e){return Me.encode(e)}function w(e){return Me.encode(e)}function da(e,n){\"function\"===typeof e.error?e.error(n):e.close()}var Ie=Object.prototype.hasOwnProperty,De=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,Be={},Ne={};function ia(e){if(Ie.call(Ne,e))return!0;if(Ie.call(Be,e))return!1;if(De.test(e))return Ne[e]=!0;Be[e]=!0;return!1}function y(e,n,a,o,l,i,s){this.acceptsBooleans=2===n||3===n||4===n;this.attributeName=o;this.attributeNamespace=l;this.mustUseProperty=a;this.propertyName=e;this.type=n;this.sanitizeURL=i;this.removeEmptyString=s}var ze={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach((function(e){ze[e]=new y(e,0,!1,e,null,!1,!1)}));[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach((function(e){var n=e[0];ze[n]=new y(n,1,!1,e[1],null,!1,!1)}));[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach((function(e){ze[e]=new y(e,2,!1,e.toLowerCase(),null,!1,!1)}));[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach((function(e){ze[e]=new y(e,2,!1,e,null,!1,!1)}));\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach((function(e){ze[e]=new y(e,3,!1,e.toLowerCase(),null,!1,!1)}));[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach((function(e){ze[e]=new y(e,3,!0,e,null,!1,!1)}));[\"capture\",\"download\"].forEach((function(e){ze[e]=new y(e,4,!1,e,null,!1,!1)}));[\"cols\",\"rows\",\"size\",\"span\"].forEach((function(e){ze[e]=new y(e,6,!1,e,null,!1,!1)}));[\"rowSpan\",\"start\"].forEach((function(e){ze[e]=new y(e,5,!1,e.toLowerCase(),null,!1,!1)}));var Ve=/[\\-:]([a-z])/g;function ka(e){return e[1].toUpperCase()}\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach((function(e){var n=e.replace(Ve,ka);ze[n]=new y(n,1,!1,e,null,!1,!1)}));\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach((function(e){var n=e.replace(Ve,ka);ze[n]=new y(n,1,!1,e,\"http://www.w3.org/1999/xlink\",!1,!1)}));[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach((function(e){var n=e.replace(Ve,ka);ze[n]=new y(n,1,!1,e,\"http://www.w3.org/XML/1998/namespace\",!1,!1)}));[\"tabIndex\",\"crossOrigin\"].forEach((function(e){ze[e]=new y(e,1,!1,e.toLowerCase(),null,!1,!1)}));ze.xlinkHref=new y(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach((function(e){ze[e]=new y(e,1,!1,e.toLowerCase(),null,!0,!0)}));var Ae={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Le=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(Ae).forEach((function(e){Le.forEach((function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1);Ae[n]=Ae[e]}))}));var je=/[\"'&<>]/;function C(e){if(\"boolean\"===typeof e||\"number\"===typeof e)return\"\"+e;e=\"\"+e;var n=je.exec(e);if(n){var a,o=\"\",l=0;for(a=n.index;a<e.length;a++){switch(e.charCodeAt(a)){case 34:n=\"&quot;\";break;case 38:n=\"&amp;\";break;case 39:n=\"&#x27;\";break;case 60:n=\"&lt;\";break;case 62:n=\"&gt;\";break;default:continue}l!==a&&(o+=e.substring(l,a));l=a+1;o+=n}e=l!==a?o+e.substring(l,a):o}return e}var Oe=/([A-Z])/g,qe=/^ms-/,We=Array.isArray,He=w(\"<script>\"),Ue=w(\"<\\/script>\"),Ze=w('<script src=\"'),Xe=w('<script type=\"module\" src=\"'),Je=w('\" async=\"\"><\\/script>'),Ge=/(<\\/|<)(s)(cript)/gi;function ya(e,n,a,o){return n+(\"s\"===a?\"\\\\u0073\":\"\\\\u0053\")+o}function za(e,n,a,o,l){e=void 0===e?\"\":e;n=void 0===n?He:w('<script nonce=\"'+C(n)+'\">');var i=[];void 0!==a&&i.push(n,u((\"\"+a).replace(Ge,ya)),Ue);if(void 0!==o)for(a=0;a<o.length;a++)i.push(Ze,u(C(o[a])),Je);if(void 0!==l)for(o=0;o<l.length;o++)i.push(Xe,u(C(l[o])),Je);return{bootstrapChunks:i,startInlineScript:n,placeholderPrefix:w(e+\"P:\"),segmentPrefix:w(e+\"S:\"),boundaryPrefix:e+\"B:\",idPrefix:e,nextSuspenseID:0,sentCompleteSegmentFunction:!1,sentCompleteBoundaryFunction:!1,sentClientRenderFunction:!1}}function D(e,n){return{insertionMode:e,selectedValue:n}}function Aa(e){return D(\"http://www.w3.org/2000/svg\"===e?2:\"http://www.w3.org/1998/Math/MathML\"===e?3:0,null)}function Ba(e,n,a){switch(n){case\"select\":return D(1,null!=a.value?a.value:a.defaultValue);case\"svg\":return D(2,null);case\"math\":return D(3,null);case\"foreignObject\":return D(1,null);case\"table\":return D(4,null);case\"thead\":case\"tbody\":case\"tfoot\":return D(5,null);case\"colgroup\":return D(7,null);case\"tr\":return D(6,null)}return 4<=e.insertionMode||0===e.insertionMode?D(1,null):e}var Qe=w(\"\\x3c!-- --\\x3e\");function Da(e,n,a,o){if(\"\"===n)return o;o&&e.push(Qe);e.push(u(C(n)));return!0}var Ye=new Map,Ke=w(' style=\"'),et=w(\":\"),tt=w(\";\");function Ia(e,n,a){if(\"object\"!==typeof a)throw Error(k(62));n=!0;for(var o in a)if(Ie.call(a,o)){var l=a[o];if(null!=l&&\"boolean\"!==typeof l&&\"\"!==l){if(0===o.indexOf(\"--\")){var i=u(C(o));l=u(C((\"\"+l).trim()))}else{i=o;var s=Ye.get(i);void 0!==s||(s=w(C(i.replace(Oe,\"-$1\").toLowerCase().replace(qe,\"-ms-\"))),Ye.set(i,s)),i=s;l=\"number\"===typeof l?0===l||Ie.call(Ae,o)?u(\"\"+l):u(l+\"px\"):u(C((\"\"+l).trim()))}n?(n=!1,e.push(Ke,i,et,l)):e.push(tt,i,et,l)}}n||e.push(at)}var nt=w(\" \"),rt=w('=\"'),at=w('\"'),ot=w('=\"\"');function J(e,n,a,o){switch(a){case\"style\":Ia(e,n,o);return;case\"defaultValue\":case\"defaultChecked\":case\"innerHTML\":case\"suppressContentEditableWarning\":case\"suppressHydrationWarning\":return}if(!(2<a.length)||\"o\"!==a[0]&&\"O\"!==a[0]||\"n\"!==a[1]&&\"N\"!==a[1])if(n=ze.hasOwnProperty(a)?ze[a]:null,null!==n){switch(typeof o){case\"function\":case\"symbol\":return;case\"boolean\":if(!n.acceptsBooleans)return}a=u(n.attributeName);switch(n.type){case 3:o&&e.push(nt,a,ot);break;case 4:!0===o?e.push(nt,a,ot):!1!==o&&e.push(nt,a,rt,u(C(o)),at);break;case 5:isNaN(o)||e.push(nt,a,rt,u(C(o)),at);break;case 6:!isNaN(o)&&1<=o&&e.push(nt,a,rt,u(C(o)),at);break;default:n.sanitizeURL&&(o=\"\"+o),e.push(nt,a,rt,u(C(o)),at)}}else if(ia(a)){switch(typeof o){case\"function\":case\"symbol\":return;case\"boolean\":if(n=a.toLowerCase().slice(0,5),\"data-\"!==n&&\"aria-\"!==n)return}e.push(nt,u(a),rt,u(C(o)),at)}}var lt=w(\">\"),ut=w(\"/>\");function L(e,n,a){if(null!=n){if(null!=a)throw Error(k(60));if(\"object\"!==typeof n||!(\"__html\"in n))throw Error(k(61));n=n.__html;null!==n&&void 0!==n&&e.push(u(\"\"+n))}}function La(e){var n=\"\";Re.Children.forEach(e,(function(e){null!=e&&(n+=e)}));return n}var it=w(' selected=\"\"');function Na(e,n,a,o){e.push(M(a));var l,i=a=null;for(l in n)if(Ie.call(n,l)){var s=n[l];if(null!=s)switch(l){case\"children\":a=s;break;case\"dangerouslySetInnerHTML\":i=s;break;default:J(e,o,l,s)}}e.push(lt);L(e,i,a);return\"string\"===typeof a?(e.push(u(C(a))),null):a}var st=w(\"\\n\"),ct=/^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/,dt=new Map;function M(e){var n=dt.get(e);if(void 0===n){if(!ct.test(e))throw Error(k(65,e));n=w(\"<\"+e);dt.set(e,n)}return n}var ft=w(\"<!DOCTYPE html>\");function Sa(e,n,a,o,l){switch(n){case\"select\":e.push(M(\"select\"));var i=null,s=null;for(h in a)if(Ie.call(a,h)){var c=a[h];if(null!=c)switch(h){case\"children\":i=c;break;case\"dangerouslySetInnerHTML\":s=c;break;case\"defaultValue\":case\"value\":break;default:J(e,o,h,c)}}e.push(lt);L(e,s,i);return i;case\"option\":s=l.selectedValue;e.push(M(\"option\"));var d=c=null,f=null;var h=null;for(i in a)if(Ie.call(a,i)){var g=a[i];if(null!=g)switch(i){case\"children\":c=g;break;case\"selected\":f=g;break;case\"dangerouslySetInnerHTML\":h=g;break;case\"value\":d=g;default:J(e,o,i,g)}}if(null!=s)if(a=null!==d?\"\"+d:La(c),We(s)){for(o=0;o<s.length;o++)if(\"\"+s[o]===a){e.push(it);break}}else\"\"+s===a&&e.push(it);else f&&e.push(it);e.push(lt);L(e,h,c);return c;case\"textarea\":e.push(M(\"textarea\"));h=s=i=null;for(c in a)if(Ie.call(a,c)&&(d=a[c],null!=d))switch(c){case\"children\":h=d;break;case\"value\":i=d;break;case\"defaultValue\":s=d;break;case\"dangerouslySetInnerHTML\":throw Error(k(91));default:J(e,o,c,d)}null===i&&null!==s&&(i=s);e.push(lt);if(null!=h){if(null!=i)throw Error(k(92));if(We(h)&&1<h.length)throw Error(k(93));i=\"\"+h}\"string\"===typeof i&&\"\\n\"===i[0]&&e.push(st);null!==i&&e.push(u(C(\"\"+i)));return null;case\"input\":e.push(M(\"input\"));d=h=c=i=null;for(s in a)if(Ie.call(a,s)&&(f=a[s],null!=f))switch(s){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(k(399,\"input\"));case\"defaultChecked\":d=f;break;case\"defaultValue\":c=f;break;case\"checked\":h=f;break;case\"value\":i=f;break;default:J(e,o,s,f)}null!==h?J(e,o,\"checked\",h):null!==d&&J(e,o,\"checked\",d);null!==i?J(e,o,\"value\",i):null!==c&&J(e,o,\"value\",c);e.push(ut);return null;case\"menuitem\":e.push(M(\"menuitem\"));for(var b in a)if(Ie.call(a,b)&&(i=a[b],null!=i))switch(b){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(k(400));default:J(e,o,b,i)}e.push(lt);return null;case\"title\":e.push(M(\"title\"));i=null;for(g in a)if(Ie.call(a,g)&&(s=a[g],null!=s))switch(g){case\"children\":i=s;break;case\"dangerouslySetInnerHTML\":throw Error(k(434));default:J(e,o,g,s)}e.push(lt);return i;case\"listing\":case\"pre\":e.push(M(n));s=i=null;for(d in a)if(Ie.call(a,d)&&(c=a[d],null!=c))switch(d){case\"children\":i=c;break;case\"dangerouslySetInnerHTML\":s=c;break;default:J(e,o,d,c)}e.push(lt);if(null!=s){if(null!=i)throw Error(k(60));if(\"object\"!==typeof s||!(\"__html\"in s))throw Error(k(61));a=s.__html;null!==a&&void 0!==a&&(\"string\"===typeof a&&0<a.length&&\"\\n\"===a[0]?e.push(st,u(a)):e.push(u(\"\"+a)))}\"string\"===typeof i&&\"\\n\"===i[0]&&e.push(st);return i;case\"area\":case\"base\":case\"br\":case\"col\":case\"embed\":case\"hr\":case\"img\":case\"keygen\":case\"link\":case\"meta\":case\"param\":case\"source\":case\"track\":case\"wbr\":e.push(M(n));for(var m in a)if(Ie.call(a,m)&&(i=a[m],null!=i))switch(m){case\"children\":case\"dangerouslySetInnerHTML\":throw Error(k(399,n));default:J(e,o,m,i)}e.push(ut);return null;case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return Na(e,a,n,o);case\"html\":return 0===l.insertionMode&&e.push(ft),Na(e,a,n,o);default:if(-1===n.indexOf(\"-\")&&\"string\"!==typeof a.is)return Na(e,a,n,o);e.push(M(n));s=i=null;for(f in a)if(Ie.call(a,f)&&(c=a[f],null!=c))switch(f){case\"children\":i=c;break;case\"dangerouslySetInnerHTML\":s=c;break;case\"style\":Ia(e,o,c);break;case\"suppressContentEditableWarning\":case\"suppressHydrationWarning\":break;default:ia(f)&&\"function\"!==typeof c&&\"symbol\"!==typeof c&&e.push(nt,u(f),rt,u(C(c)),at)}e.push(lt);L(e,s,i);return i}}var pt=w(\"</\"),ht=w(\">\"),gt=w('<template id=\"'),bt=w('\"></template>'),mt=w(\"\\x3c!--$--\\x3e\"),yt=w('\\x3c!--$?--\\x3e<template id=\"'),vt=w('\"></template>'),kt=w(\"\\x3c!--$!--\\x3e\"),wt=w(\"\\x3c!--/$--\\x3e\"),St=w(\"<template\"),xt=w('\"'),$t=w(' data-dgst=\"');w(' data-msg=\"');w(' data-stck=\"');var Ct=w(\"></template>\");function fb(e,n,a){p(e,yt);if(null===a)throw Error(k(395));p(e,a);return t(e,vt)}var Et=w('<div hidden id=\"'),Ft=w('\">'),Tt=w(\"</div>\"),Rt=w('<svg aria-hidden=\"true\" style=\"display:none\" id=\"'),Pt=w('\">'),_t=w(\"</svg>\"),Mt=w('<math aria-hidden=\"true\" style=\"display:none\" id=\"'),It=w('\">'),Dt=w(\"</math>\"),Bt=w('<table hidden id=\"'),Nt=w('\">'),zt=w(\"</table>\"),Vt=w('<table hidden><tbody id=\"'),At=w('\">'),Lt=w(\"</tbody></table>\"),jt=w('<table hidden><tr id=\"'),Ot=w('\">'),qt=w(\"</tr></table>\"),Wt=w('<table hidden><colgroup id=\"'),Ht=w('\">'),Ut=w(\"</colgroup></table>\");function Bb(e,n,a,o){switch(a.insertionMode){case 0:case 1:return p(e,Et),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,Ft);case 2:return p(e,Rt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,Pt);case 3:return p(e,Mt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,It);case 4:return p(e,Bt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,Nt);case 5:return p(e,Vt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,At);case 6:return p(e,jt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,Ot);case 7:return p(e,Wt),p(e,n.segmentPrefix),p(e,u(o.toString(16))),t(e,Ht);default:throw Error(k(397))}}function Cb(e,n){switch(n.insertionMode){case 0:case 1:return t(e,Tt);case 2:return t(e,_t);case 3:return t(e,Dt);case 4:return t(e,zt);case 5:return t(e,Lt);case 6:return t(e,qt);case 7:return t(e,Ut);default:throw Error(k(397))}}var Zt=w('function $RS(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS(\"'),Xt=w('$RS(\"'),Jt=w('\",\"'),Gt=w('\")<\\/script>'),Qt=w('function $RC(a,b){a=document.getElementById(a);b=document.getElementById(b);b.parentNode.removeChild(b);if(a){a=a.previousSibling;var f=a.parentNode,c=a.nextSibling,e=0;do{if(c&&8===c.nodeType){var d=c.data;if(\"/$\"===d)if(0===e)break;else e--;else\"$\"!==d&&\"$?\"!==d&&\"$!\"!==d||e++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;b.firstChild;)f.insertBefore(b.firstChild,c);a.data=\"$\";a._reactRetry&&a._reactRetry()}};$RC(\"'),Yt=w('$RC(\"'),Kt=w('\",\"'),en=w('\")<\\/script>'),tn=w('function $RX(b,c,d,e){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data=\"$!\",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),b._reactRetry&&b._reactRetry())};$RX(\"'),nn=w('$RX(\"'),rn=w('\"'),an=w(\")<\\/script>\"),on=w(\",\"),ln=/[<\\u2028\\u2029]/g;function Sb(e){return JSON.stringify(e).replace(ln,(function(e){switch(e){case\"<\":return\"\\\\u003c\";case\"\\u2028\":return\"\\\\u2028\";case\"\\u2029\":return\"\\\\u2029\";default:throw Error(\"escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\")}}))}var un=Object.assign,sn=Symbol.for(\"react.element\"),cn=Symbol.for(\"react.portal\"),dn=Symbol.for(\"react.fragment\"),fn=Symbol.for(\"react.strict_mode\"),pn=Symbol.for(\"react.profiler\"),hn=Symbol.for(\"react.provider\"),gn=Symbol.for(\"react.context\"),bn=Symbol.for(\"react.forward_ref\"),mn=Symbol.for(\"react.suspense\"),yn=Symbol.for(\"react.suspense_list\"),vn=Symbol.for(\"react.memo\"),kn=Symbol.for(\"react.lazy\"),wn=Symbol.for(\"react.scope\"),Sn=Symbol.for(\"react.debug_trace_mode\"),xn=Symbol.for(\"react.legacy_hidden\"),$n=Symbol.for(\"react.default_value\"),Cn=Symbol.iterator;function jc(e){if(null==e)return null;if(\"function\"===typeof e)return e.displayName||e.name||null;if(\"string\"===typeof e)return e;switch(e){case dn:return\"Fragment\";case cn:return\"Portal\";case pn:return\"Profiler\";case fn:return\"StrictMode\";case mn:return\"Suspense\";case yn:return\"SuspenseList\"}if(\"object\"===typeof e)switch(e.$$typeof){case gn:return(e.displayName||\"Context\")+\".Consumer\";case hn:return(e._context.displayName||\"Context\")+\".Provider\";case bn:var n=e.render;e=e.displayName;e||(e=n.displayName||n.name||\"\",e=\"\"!==e?\"ForwardRef(\"+e+\")\":\"ForwardRef\");return e;case vn:return n=e.displayName||null,null!==n?n:jc(e.type)||\"Memo\";case kn:n=e._payload;e=e._init;try{return jc(e(n))}catch(e){}}return null}var En={};function lc(e,n){e=e.contextTypes;if(!e)return En;var a,o={};for(a in e)o[a]=n[a];return o}var Fn=null;function P(e,n){if(e!==n){e.context._currentValue=e.parentValue;e=e.parent;var a=n.parent;if(null===e){if(null!==a)throw Error(k(401))}else{if(null===a)throw Error(k(401));P(e,a)}n.context._currentValue=n.value}}function mc(e){e.context._currentValue=e.parentValue;e=e.parent;null!==e&&mc(e)}function nc(e){var n=e.parent;null!==n&&nc(n);e.context._currentValue=e.value}function oc(e,n){e.context._currentValue=e.parentValue;e=e.parent;if(null===e)throw Error(k(402));e.depth===n.depth?P(e,n):oc(e,n)}function pc(e,n){var a=n.parent;if(null===a)throw Error(k(402));e.depth===a.depth?P(e,a):pc(e,a);n.context._currentValue=n.value}function Q(e){var n=Fn;n!==e&&(null===n?nc(e):null===e?mc(n):n.depth===e.depth?P(n,e):n.depth>e.depth?oc(n,e):pc(n,e),Fn=e)}var Tn={isMounted:function(){return!1},enqueueSetState:function(e,n){e=e._reactInternals;null!==e.queue&&e.queue.push(n)},enqueueReplaceState:function(e,n){e=e._reactInternals;e.replace=!0;e.queue=[n]},enqueueForceUpdate:function(){}};function rc(e,n,a,o){var l=void 0!==e.state?e.state:null;e.updater=Tn;e.props=a;e.state=l;var i={queue:[],replace:!1};e._reactInternals=i;var s=n.contextType;e.context=\"object\"===typeof s&&null!==s?s._currentValue:o;s=n.getDerivedStateFromProps;\"function\"===typeof s&&(s=s(a,l),l=null===s||void 0===s?l:un({},l,s),e.state=l);if(\"function\"!==typeof n.getDerivedStateFromProps&&\"function\"!==typeof e.getSnapshotBeforeUpdate&&(\"function\"===typeof e.UNSAFE_componentWillMount||\"function\"===typeof e.componentWillMount))if(n=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),n!==e.state&&Tn.enqueueReplaceState(e,e.state,null),null!==i.queue&&0<i.queue.length)if(n=i.queue,s=i.replace,i.queue=null,i.replace=!1,s&&1===n.length)e.state=n[0];else{i=s?n[0]:e.state;l=!0;for(s=s?1:0;s<n.length;s++){var c=n[s];c=\"function\"===typeof c?c.call(e,i,a,o):c;null!=c&&(l?(l=!1,i=un({},i,c)):un(i,c))}e.state=i}else i.queue=null}var Rn={id:1,overflow:\"\"};function tc(e,n,a){var o=e.id;e=e.overflow;var l=32-Pn(o)-1;o&=~(1<<l);a+=1;var i=32-Pn(n)+l;if(30<i){var s=l-l%5;i=(o&(1<<s)-1).toString(32);o>>=s;l-=s;return{id:1<<32-Pn(n)+l|a<<l|o,overflow:i+e}}return{id:1<<i|a<<l|o,overflow:e}}var Pn=Math.clz32?Math.clz32:vc,_n=Math.log,Mn=Math.LN2;function vc(e){e>>>=0;return 0===e?32:31-(_n(e)/Mn|0)|0}function yc(e,n){return e===n&&(0!==e||1/e===1/n)||e!==e&&n!==n}var In=\"function\"===typeof Object.is?Object.is:yc,Dn=null,Bn=null,Nn=null,zn=null,Vn=!1,An=!1,Ln=0,jn=null,On=0;function W(){if(null===Dn)throw Error(k(321));return Dn}function Ec(){if(0<On)throw Error(k(312));return{memoizedState:null,queue:null,next:null}}function Fc(){null===zn?null===Nn?(Vn=!1,Nn=zn=Ec()):(Vn=!0,zn=Nn):null===zn.next?(Vn=!1,zn=zn.next=Ec()):(Vn=!0,zn=zn.next);return zn}function Gc(){Bn=Dn=null;An=!1;Nn=null;On=0;zn=jn=null}function Hc(e,n){return\"function\"===typeof n?n(e):n}function Ic(e,n,a){Dn=W();zn=Fc();if(Vn){var o=zn.queue;n=o.dispatch;if(null!==jn&&(a=jn.get(o),void 0!==a)){jn.delete(o);o=zn.memoizedState;do{o=e(o,a.action),a=a.next}while(null!==a);zn.memoizedState=o;return[o,n]}return[zn.memoizedState,n]}e=e===Hc?\"function\"===typeof n?n():n:void 0!==a?a(n):n;zn.memoizedState=e;e=zn.queue={last:null,dispatch:null};e=e.dispatch=Jc.bind(null,Dn,e);return[zn.memoizedState,e]}function Kc(e,n){Dn=W();zn=Fc();n=void 0===n?null:n;if(null!==zn){var a=zn.memoizedState;if(null!==a&&null!==n){var o=a[1];e:if(null===o)o=!1;else{for(var l=0;l<o.length&&l<n.length;l++)if(!In(n[l],o[l])){o=!1;break e}o=!0}if(o)return a[0]}}e=e();zn.memoizedState=[e,n];return e}function Jc(e,n,a){if(25<=On)throw Error(k(301));if(e===Dn)if(An=!0,e={action:a,next:null},null===jn&&(jn=new Map),a=jn.get(n),void 0===a)jn.set(n,e);else{for(n=a;null!==n.next;)n=n.next;n.next=e}}function Lc(){throw Error(k(394))}function Mc(){}var qn={readContext:function(e){return e._currentValue},useContext:function(e){W();return e._currentValue},useMemo:Kc,useReducer:Ic,useRef:function(e){Dn=W();zn=Fc();var n=zn.memoizedState;return null===n?(e={current:e},zn.memoizedState=e):n},useState:function(e){return Ic(Hc,e)},useInsertionEffect:Mc,useLayoutEffect:function(){},useCallback:function(e,n){return Kc((function(){return e}),n)},useImperativeHandle:Mc,useEffect:Mc,useDebugValue:Mc,useDeferredValue:function(e){W();return e},useTransition:function(){W();return[!1,Lc]},useId:function(){var e=Bn.treeContext;var n=e.overflow;e=e.id;e=(e&~(1<<32-Pn(e)-1)).toString(32)+n;var a=Wn;if(null===a)throw Error(k(404));n=Ln++;e=\":\"+a.idPrefix+\"R\"+e;0<n&&(e+=\"H\"+n.toString(32));return e+\":\"},useMutableSource:function(e,n){W();return n(e._source)},useSyncExternalStore:function(e,n,a){if(void 0===a)throw Error(k(407));return a()}},Wn=null,Hn=Re.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher;function Qc(e){console.error(e);return null}function X(){}function Rc(e,n,a,o,l,i,s,c,d){var f=[],h=new Set;n={destination:null,responseState:n,progressiveChunkSize:void 0===o?12800:o,status:0,fatalError:null,nextSegmentId:0,allPendingTasks:0,pendingRootTasks:0,completedRootSegment:null,abortableTasks:h,pingedTasks:f,clientRenderedBoundaries:[],completedBoundaries:[],partialBoundaries:[],onError:void 0===l?Qc:l,onAllReady:void 0===i?X:i,onShellReady:void 0===s?X:s,onShellError:void 0===c?X:c,onFatalError:void 0===d?X:d};a=Sc(n,0,null,a,!1,!1);a.parentFlushed=!0;e=Tc(n,e,null,a,h,En,null,Rn);f.push(e);return n}function Tc(e,n,a,o,l,i,s,c){e.allPendingTasks++;null===a?e.pendingRootTasks++:a.pendingTasks++;var d={node:n,ping:function(){var n=e.pingedTasks;n.push(d);1===n.length&&Uc(e)},blockedBoundary:a,blockedSegment:o,abortSet:l,legacyContext:i,context:s,treeContext:c};l.add(d);return d}function Sc(e,n,a,o,l,i){return{status:0,id:-1,index:n,parentFlushed:!1,chunks:[],children:[],formatContext:o,boundary:a,lastPushedText:l,textEmbedded:i}}function Y(e,n){e=e.onError(n);if(null!=e&&\"string\"!==typeof e)throw Error('onError returned something with a type other than \"string\". onError should return a string and may return null or undefined but must not return anything else. It received something of type \"'+typeof e+'\" instead');return e}function Vc(e,n){var a=e.onShellError;a(n);a=e.onFatalError;a(n);null!==e.destination?(e.status=2,da(e.destination,n)):(e.status=1,e.fatalError=n)}function Wc(e,n,a,o,l){Dn={};Bn=n;Ln=0;for(e=a(o,l);An;)An=!1,Ln=0,On+=1,zn=null,e=a(o,l);Gc();return e}function Xc(e,n,a,o){var l=a.render(),i=o.childContextTypes;if(null!==i&&void 0!==i){var s=n.legacyContext;if(\"function\"!==typeof a.getChildContext)o=s;else{a=a.getChildContext();for(var c in a)if(!(c in i))throw Error(k(108,jc(o)||\"Unknown\",c));o=un({},s,a)}n.legacyContext=o;Z(e,n,l);n.legacyContext=s}else Z(e,n,l)}function Yc(e,n){if(e&&e.defaultProps){n=un({},n);e=e.defaultProps;for(var a in e)void 0===n[a]&&(n[a]=e[a]);return n}return n}function Zc(e,n,a,o,l){if(\"function\"===typeof a)if(a.prototype&&a.prototype.isReactComponent){l=lc(a,n.legacyContext);var i=a.contextType;i=new a(o,\"object\"===typeof i&&null!==i?i._currentValue:l);rc(i,a,o,l);Xc(e,n,i,a)}else{i=lc(a,n.legacyContext);l=Wc(e,n,a,o,i);var s=0!==Ln;if(\"object\"===typeof l&&null!==l&&\"function\"===typeof l.render&&void 0===l.$$typeof)rc(l,a,o,i),Xc(e,n,l,a);else if(s){o=n.treeContext;n.treeContext=tc(o,1,0);try{Z(e,n,l)}finally{n.treeContext=o}}else Z(e,n,l)}else{if(\"string\"!==typeof a){switch(a){case xn:case Sn:case fn:case pn:case dn:Z(e,n,o.children);return;case yn:Z(e,n,o.children);return;case wn:throw Error(k(343));case mn:e:{a=n.blockedBoundary;l=n.blockedSegment;i=o.fallback;o=o.children;s=new Set;var c={id:null,rootSegmentID:-1,parentFlushed:!1,pendingTasks:0,forceClientRender:!1,completedSegments:[],byteSize:0,fallbackAbortableTasks:s,errorDigest:null},d=Sc(e,l.chunks.length,c,l.formatContext,!1,!1);l.children.push(d);l.lastPushedText=!1;var f=Sc(e,0,null,l.formatContext,!1,!1);f.parentFlushed=!0;n.blockedBoundary=c;n.blockedSegment=f;try{if($c(e,n,o),f.lastPushedText&&f.textEmbedded&&f.chunks.push(Qe),f.status=1,ad(c,f),0===c.pendingTasks)break e}catch(n){f.status=4,c.forceClientRender=!0,c.errorDigest=Y(e,n)}finally{n.blockedBoundary=a,n.blockedSegment=l}n=Tc(e,i,a,d,s,n.legacyContext,n.context,n.treeContext);e.pingedTasks.push(n)}return}if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case bn:o=Wc(e,n,a.render,o,l);if(0!==Ln){a=n.treeContext;n.treeContext=tc(a,1,0);try{Z(e,n,o)}finally{n.treeContext=a}}else Z(e,n,o);return;case vn:a=a.type;o=Yc(a,o);Zc(e,n,a,o,l);return;case hn:l=o.children;a=a._context;o=o.value;i=a._currentValue;a._currentValue=o;s=Fn;Fn=o={parent:s,depth:null===s?0:s.depth+1,context:a,parentValue:i,value:o};n.context=o;Z(e,n,l);e=Fn;if(null===e)throw Error(k(403));o=e.parentValue;e.context._currentValue=o===$n?e.context._defaultValue:o;e=Fn=e.parent;n.context=e;return;case gn:o=o.children;o=o(a._currentValue);Z(e,n,o);return;case kn:l=a._init;a=l(a._payload);o=Yc(a,o);Zc(e,n,a,o,void 0);return}throw Error(k(130,null==a?a:typeof a,\"\"))}l=n.blockedSegment;i=Sa(l.chunks,a,o,e.responseState,l.formatContext);l.lastPushedText=!1;s=l.formatContext;l.formatContext=Ba(s,a,o);$c(e,n,i);l.formatContext=s;switch(a){case\"area\":case\"base\":case\"br\":case\"col\":case\"embed\":case\"hr\":case\"img\":case\"input\":case\"keygen\":case\"link\":case\"meta\":case\"param\":case\"source\":case\"track\":case\"wbr\":break;default:l.chunks.push(pt,u(a),ht)}l.lastPushedText=!1}}function Z(e,n,a){n.node=a;if(\"object\"===typeof a&&null!==a){switch(a.$$typeof){case sn:Zc(e,n,a.type,a.props,a.ref);return;case cn:throw Error(k(257));case kn:var o=a._init;a=o(a._payload);Z(e,n,a);return}if(We(a)){bd(e,n,a);return}null===a||\"object\"!==typeof a?o=null:(o=Cn&&a[Cn]||a[\"@@iterator\"],o=\"function\"===typeof o?o:null);if(o&&(o=o.call(a))){a=o.next();if(!a.done){var l=[];do{l.push(a.value),a=o.next()}while(!a.done);bd(e,n,l)}return}e=Object.prototype.toString.call(a);throw Error(k(31,\"[object Object]\"===e?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":e))}\"string\"===typeof a?(o=n.blockedSegment,o.lastPushedText=Da(n.blockedSegment.chunks,a,e.responseState,o.lastPushedText)):\"number\"===typeof a&&(o=n.blockedSegment,o.lastPushedText=Da(n.blockedSegment.chunks,\"\"+a,e.responseState,o.lastPushedText))}function bd(e,n,a){for(var o=a.length,l=0;l<o;l++){var i=n.treeContext;n.treeContext=tc(i,o,l);try{$c(e,n,a[l])}finally{n.treeContext=i}}}function $c(e,n,a){var o=n.blockedSegment.formatContext,l=n.legacyContext,i=n.context;try{return Z(e,n,a)}catch(d){if(Gc(),\"object\"!==typeof d||null===d||\"function\"!==typeof d.then)throw n.blockedSegment.formatContext=o,n.legacyContext=l,n.context=i,Q(i),d;a=d;var s=n.blockedSegment,c=Sc(e,s.chunks.length,null,s.formatContext,s.lastPushedText,!0);s.children.push(c);s.lastPushedText=!1;e=Tc(e,n.node,n.blockedBoundary,c,n.abortSet,n.legacyContext,n.context,n.treeContext).ping;a.then(e,e);n.blockedSegment.formatContext=o;n.legacyContext=l;n.context=i;Q(i)}}function cd(e){var n=e.blockedBoundary;e=e.blockedSegment;e.status=3;dd(this,n,e)}function ed(e,n,a){var o=e.blockedBoundary;e.blockedSegment.status=3;null===o?(n.allPendingTasks--,2!==n.status&&(n.status=2,null!==n.destination&&n.destination.close())):(o.pendingTasks--,o.forceClientRender||(o.forceClientRender=!0,e=void 0===a?Error(k(432)):a,o.errorDigest=n.onError(e),o.parentFlushed&&n.clientRenderedBoundaries.push(o)),o.fallbackAbortableTasks.forEach((function(e){return ed(e,n,a)})),o.fallbackAbortableTasks.clear(),n.allPendingTasks--,0===n.allPendingTasks&&(o=n.onAllReady,o()))}function ad(e,n){if(0===n.chunks.length&&1===n.children.length&&null===n.children[0].boundary){var a=n.children[0];a.id=n.id;a.parentFlushed=!0;1===a.status&&ad(e,a)}else e.completedSegments.push(n)}function dd(e,n,a){if(null===n){if(a.parentFlushed){if(null!==e.completedRootSegment)throw Error(k(389));e.completedRootSegment=a}e.pendingRootTasks--;0===e.pendingRootTasks&&(e.onShellError=X,n=e.onShellReady,n())}else n.pendingTasks--,n.forceClientRender||(0===n.pendingTasks?(a.parentFlushed&&1===a.status&&ad(n,a),n.parentFlushed&&e.completedBoundaries.push(n),n.fallbackAbortableTasks.forEach(cd,e),n.fallbackAbortableTasks.clear()):a.parentFlushed&&1===a.status&&(ad(n,a),1===n.completedSegments.length&&n.parentFlushed&&e.partialBoundaries.push(n)));e.allPendingTasks--;0===e.allPendingTasks&&(e=e.onAllReady,e())}function Uc(e){if(2!==e.status){var n=Fn,a=Hn.current;Hn.current=qn;var o=Wn;Wn=e.responseState;try{var l,i=e.pingedTasks;for(l=0;l<i.length;l++){var s=i[l];var c=e,d=s.blockedSegment;if(0===d.status){Q(s.context);try{Z(c,s,s.node),d.lastPushedText&&d.textEmbedded&&d.chunks.push(Qe),s.abortSet.delete(s),d.status=1,dd(c,s.blockedBoundary,d)}catch(e){if(Gc(),\"object\"===typeof e&&null!==e&&\"function\"===typeof e.then){var f=s.ping;e.then(f,f)}else{s.abortSet.delete(s);d.status=4;var h=s.blockedBoundary,g=e,b=Y(c,g);null===h?Vc(c,g):(h.pendingTasks--,h.forceClientRender||(h.forceClientRender=!0,h.errorDigest=b,h.parentFlushed&&c.clientRenderedBoundaries.push(h)));c.allPendingTasks--;if(0===c.allPendingTasks){var m=c.onAllReady;m()}}}}}i.splice(0,l);null!==e.destination&&fd(e,e.destination)}catch(n){Y(e,n),Vc(e,n)}finally{Wn=o,Hn.current=a,a===qn&&Q(n)}}}function gd(e,n,a){a.parentFlushed=!0;switch(a.status){case 0:var o=a.id=e.nextSegmentId++;a.lastPushedText=!1;a.textEmbedded=!1;e=e.responseState;p(n,gt);p(n,e.placeholderPrefix);e=u(o.toString(16));p(n,e);return t(n,bt);case 1:a.status=2;var l=!0;o=a.chunks;var i=0;a=a.children;for(var s=0;s<a.length;s++){for(l=a[s];i<l.index;i++)p(n,o[i]);l=hd(e,n,l)}for(;i<o.length-1;i++)p(n,o[i]);i<o.length&&(l=t(n,o[i]));return l;default:throw Error(k(390))}}function hd(e,n,a){var o=a.boundary;if(null===o)return gd(e,n,a);o.parentFlushed=!0;if(o.forceClientRender)o=o.errorDigest,t(n,kt),p(n,St),o&&(p(n,$t),p(n,u(C(o))),p(n,xt)),t(n,Ct),gd(e,n,a);else if(0<o.pendingTasks){o.rootSegmentID=e.nextSegmentId++;0<o.completedSegments.length&&e.partialBoundaries.push(o);var l=e.responseState;var i=l.nextSuspenseID++;l=w(l.boundaryPrefix+i.toString(16));o=o.id=l;fb(n,e.responseState,o);gd(e,n,a)}else if(o.byteSize>e.progressiveChunkSize)o.rootSegmentID=e.nextSegmentId++,e.completedBoundaries.push(o),fb(n,e.responseState,o.id),gd(e,n,a);else{t(n,mt);a=o.completedSegments;if(1!==a.length)throw Error(k(391));hd(e,n,a[0])}return t(n,wt)}function id(e,n,a){Bb(n,e.responseState,a.formatContext,a.id);hd(e,n,a);return Cb(n,a.formatContext)}function jd(e,n,a){for(var o=a.completedSegments,l=0;l<o.length;l++)kd(e,n,a,o[l]);o.length=0;e=e.responseState;o=a.id;a=a.rootSegmentID;p(n,e.startInlineScript);e.sentCompleteBoundaryFunction?p(n,Yt):(e.sentCompleteBoundaryFunction=!0,p(n,Qt));if(null===o)throw Error(k(395));a=u(a.toString(16));p(n,o);p(n,Kt);p(n,e.segmentPrefix);p(n,a);return t(n,en)}function kd(e,n,a,o){if(2===o.status)return!0;var l=o.id;if(-1===l){if(-1===(o.id=a.rootSegmentID))throw Error(k(392));return id(e,n,o)}id(e,n,o);e=e.responseState;p(n,e.startInlineScript);e.sentCompleteSegmentFunction?p(n,Xt):(e.sentCompleteSegmentFunction=!0,p(n,Zt));p(n,e.segmentPrefix);l=u(l.toString(16));p(n,l);p(n,Jt);p(n,e.placeholderPrefix);p(n,l);return t(n,Gt)}function fd(e,n){Pe=new Uint8Array(512);_e=0;try{var a=e.completedRootSegment;if(null!==a&&0===e.pendingRootTasks){hd(e,n,a);e.completedRootSegment=null;var o=e.responseState.bootstrapChunks;for(a=0;a<o.length-1;a++)p(n,o[a]);a<o.length&&t(n,o[a])}var l,i=e.clientRenderedBoundaries;for(l=0;l<i.length;l++){var s=i[l];o=n;var c=e.responseState,d=s.id,f=s.errorDigest,h=s.errorMessage,g=s.errorComponentStack;p(o,c.startInlineScript);c.sentClientRenderFunction?p(o,nn):(c.sentClientRenderFunction=!0,p(o,tn));if(null===d)throw Error(k(395));p(o,d);p(o,rn);(f||h||g)&&(p(o,on),p(o,u(Sb(f||\"\"))));(h||g)&&(p(o,on),p(o,u(Sb(h||\"\"))));g&&(p(o,on),p(o,u(Sb(g))));if(!t(o,an)){e.destination=null;l++;i.splice(0,l);return}}i.splice(0,l);var b=e.completedBoundaries;for(l=0;l<b.length;l++)if(!jd(e,n,b[l])){e.destination=null;l++;b.splice(0,l);return}b.splice(0,l);ba(n);Pe=new Uint8Array(512);_e=0;var m=e.partialBoundaries;for(l=0;l<m.length;l++){var S=m[l];e:{i=e;s=n;var x=S.completedSegments;for(c=0;c<x.length;c++)if(!kd(i,s,S,x[c])){c++;x.splice(0,c);var $=!1;break e}x.splice(0,c);$=!0}if(!$){e.destination=null;l++;m.splice(0,l);return}}m.splice(0,l);var E=e.completedBoundaries;for(l=0;l<E.length;l++)if(!jd(e,n,E[l])){e.destination=null;l++;E.splice(0,l);return}E.splice(0,l)}finally{ba(n),0===e.allPendingTasks&&0===e.pingedTasks.length&&0===e.clientRenderedBoundaries.length&&0===e.completedBoundaries.length&&n.close()}}function ld(e,n){try{var a=e.abortableTasks;a.forEach((function(a){return ed(a,e,n)}));a.clear();null!==e.destination&&fd(e,e.destination)}catch(n){Y(e,n),Vc(e,n)}}Te.renderToReadableStream=function(e,n){return new Promise((function(a,o){var l,i,s=new Promise((function(e,n){i=e;l=n})),c=Rc(e,za(n?n.identifierPrefix:void 0,n?n.nonce:void 0,n?n.bootstrapScriptContent:void 0,n?n.bootstrapScripts:void 0,n?n.bootstrapModules:void 0),Aa(n?n.namespaceURI:void 0),n?n.progressiveChunkSize:void 0,n?n.onError:void 0,i,(function(){var e=new ReadableStream({type:\"bytes\",pull:function(e){if(1===c.status)c.status=2,da(e,c.fatalError);else if(2!==c.status&&null===c.destination){c.destination=e;try{fd(c,e)}catch(e){Y(c,e),Vc(c,e)}}},cancel:function(){ld(c)}},{highWaterMark:0});e.allReady=s;a(e)}),(function(e){s.catch((function(){}));o(e)}),l);if(n&&n.signal){var d=n.signal,q=function(){ld(c,d.reason);d.removeEventListener(\"abort\",q)};d.addEventListener(\"abort\",q)}Uc(c)}))};Te.version=\"18.3.1\";var Un={};var Zn,Xn;true;Zn=a;Xn=Te;Un.version=Zn.version;Un.renderToString=Zn.renderToString;Un.renderToStaticMarkup=Zn.renderToStaticMarkup;Un.renderToNodeStream=Zn.renderToNodeStream;Un.renderToStaticNodeStream=Zn.renderToStaticNodeStream;Un.renderToReadableStream=Xn.renderToReadableStream;const Jn=Un.version,Gn=Un.renderToString,Qn=Un.renderToStaticMarkup,Yn=Un.renderToNodeStream,Kn=Un.renderToStaticNodeStream,er=Un.renderToReadableStream;export{Un as default,Yn as renderToNodeStream,er as renderToReadableStream,Qn as renderToStaticMarkup,Kn as renderToStaticNodeStream,Gn as renderToString,Jn as version};\n//# sourceMappingURL=server.browser.js.map\n","/**\n * KAIS · Cap Store\n * ----------------------------------------------------------------------------\n * One product, one page. The hero is one screen of type: \"2042 KAIS CAP\" repeated edge to edge, and the real\n * KAIS cap rebuilt in 3D turning over it (drag to spin); a click on the type glides down to the product. Under it the\n * product: title, price, the story, BUY NOW, and the photographs (swipe, click to zoom). BUY NOW opens Stripe\n * (Payment Link, always in a new tab) or Stripe's embedded\n * checkout in place; back from Stripe the hero says thank you.\n *\n * Framer code component · React 18 · framer-motion · three.js r170 (fetched from\n * jsDelivr only when the 3D cap is shown; line drawing fallback without WebGL)\n *\n * Usage in Framer: drop it on an empty page, Width = Fill. Its height is its content (the hero is one screen\n * tall, the product section and the footer sit under it), so Framer sizes it by itself (\"Fit\").\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n * @framerIntrinsicWidth 1440\n * @framerIntrinsicHeight 1600\n */function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}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,RenderTarget}from\"framer\";import{animate,AnimatePresence,motion,MotionConfig,useIsPresent,useMotionValue,useReducedMotion,useSpring,useTransform}from\"framer-motion\";// ─── Brand tokens ────────────────────────────────────────────────────────────\n/** The design tokens: dark #1A1818, grey #D0D1D1; white text and the red of BUY NOW measured off the design. */const K={dark:\"#1A1818\",grey:\"#D0D1D1\",light:\"#FFFFFF\",red:\"#FF0000\"};/**\n * Typefaces: Repro Ultra (display) and Diatype Variable (text), picked in Framer's font controls. Until they are,\n * the closest free stand-ins measured against the design: Archivo Black (ink width ÷ cap height of \"2042 KAIS CAP\"\n * 11.8 against the design's 11.5) and Inter Medium (a body line of the design at 17 px: 559 px wide, Inter 560).\n */const F={display:`\"Repro Ultra\", \"ABC Repro Ultra\", \"ABC Repro\", \"Archivo Black\", \"Arial Black\", sans-serif`,text:`\"Diatype Variable\", \"ABC Diatype Variable\", \"ABC Diatype\", \"Inter\", \"Helvetica Neue\", Arial, sans-serif`};const FONT_STANDINS={display:\"family=Archivo+Black\",text:\"family=Inter:wght@400;500;700\"};const EASE_OUT_EXPO=[.16,1,.3,1];const EASE_IN_OUT_SOFT=[.45,0,.15,1];const SPRING_SUBTLE={type:\"spring\",stiffness:260,damping:30};const DEFAULT_STRIPE_JS=\"https://js.stripe.com/dahlia/stripe.js\";/** three.js is only fetched when the 3D cap is used, straight from the CDN as an ES module. */const DEFAULT_THREE_URL=\"https://cdn.jsdelivr.net/npm/three@0.170.0/build/three.module.min.js\";const MOBILE_BREAKPOINT=810;// ─── Small utilities ─────────────────────────────────────────────────────────\nconst isBrowser=typeof window!==\"undefined\";const useIsoLayoutEffect=isBrowser?useLayoutEffect:useEffect;const clamp=(v,a,b)=>Math.min(b,Math.max(a,v));const wrap01=v=>v-Math.floor(v);const srcOf=v=>typeof v===\"string\"?v:v&&typeof v.src===\"string\"?v.src:\"\";function useElementSize(ref){const[size,setSize]=useState({w:0,h:0});useIsoLayoutEffect(()=>{const el=ref.current;if(!el)return;// offsetWidth/Height ignore transforms (Framer canvas zoom, our own scale animations)\nconst update=()=>setSize(s=>Math.abs(s.w-el.offsetWidth)<.5&&Math.abs(s.h-el.offsetHeight)<.5?s:{w:el.offsetWidth,h:el.offsetHeight});update();const ro=new ResizeObserver(update);ro.observe(el);return()=>ro.disconnect();},[]);return size;}/** Height of an element that mounts later (a callback ref, unlike useElementSize which binds once at mount). */function useLateHeight(){const[h,setH]=useState(0);const ro=useRef(null);const bind=useCallback(el=>{if(ro.current)ro.current.disconnect();ro.current=null;if(!el)return;const update=()=>setH(p=>Math.abs(p-el.offsetHeight)<.5?p:el.offsetHeight);update();if(typeof ResizeObserver!==\"undefined\"){ro.current=new ResizeObserver(update);ro.current.observe(el);}},[]);return[bind,h];}/** Layout width with sub-pixel precision, unaffected by transforms: the photo track must match its slides exactly\n *  (offsetWidth rounds, which drifted the track half a pixel per photo on a 660.5 px stage). */function useExactWidth(ref){const[w,setW]=useState(0);useIsoLayoutEffect(()=>{const el=ref.current;if(!el)return;const read=()=>{const v=parseFloat(getComputedStyle(el).width)||0;setW(p=>Math.abs(p-v)<.01?p:v);};read();const ro=new ResizeObserver(read);ro.observe(el);return()=>ro.disconnect();},[]);return w;}/** The free stand-ins (Google Fonts), only for the roles whose font hasn't been picked in Framer. */function useStandInFonts(display,text){useEffect(()=>{if(!isBrowser||!display&&!text)return;const fams=[display&&FONT_STANDINS.display,text&&FONT_STANDINS.text].filter(Boolean).join(\"&\");const href=`https://fonts.googleapis.com/css2?${fams}&display=swap`;if(document.querySelector(`link[data-kais-fonts=\"${fams}\"]`))return;const link=document.createElement(\"link\");link.rel=\"stylesheet\";link.href=href;link.setAttribute(\"data-kais-fonts\",fams);document.head.appendChild(link);},[display,text]);}// ─── Stripe (loaded once per page, from js.stripe.com as Stripe requires) ────\nlet stripeScriptPromise=null;const stripeInstances=new Map;const STRIPE_LOAD_TIMEOUT_MS=15e3;/** Stripe sessions live 24 h by default; refresh a mounted one before it can expire under the customer. */const SESSION_MAX_AGE_MS=23*60*60*1e3;function loadStripeJs(src){const w=window;if(w.Stripe)return Promise.resolve(w.Stripe);if(stripeScriptPromise)return stripeScriptPromise;const attempt=new Promise((resolve,reject)=>{// A tag left by an earlier failed attempt can never fire again: replace it.\nconst stale=document.querySelector(`script[src=\"${src}\"]`);if(stale)stale.remove();const script=document.createElement(\"script\");let settled=false;const fail=msg=>{if(settled)return;settled=true;clearTimeout(timer);script.remove();if(stripeScriptPromise===attempt)stripeScriptPromise=null;reject(new Error(msg));};const timer=setTimeout(()=>fail(`Stripe.js did not load within ${STRIPE_LOAD_TIMEOUT_MS/1e3}s`),STRIPE_LOAD_TIMEOUT_MS);script.addEventListener(\"load\",()=>{if(!w.Stripe)return fail(\"Stripe.js loaded but window.Stripe is missing\");settled=true;clearTimeout(timer);resolve(w.Stripe);});script.addEventListener(\"error\",()=>fail(\"Stripe.js failed to load (network, CSP or a blocker)\"));script.src=src;script.async=true;document.head.appendChild(script);});stripeScriptPromise=attempt;return attempt;}function getStripe(StripeCtor,key){if(!stripeInstances.has(key))stripeInstances.set(key,StripeCtor(key));return stripeInstances.get(key);}/**\n * Stripe allows ONE embedded checkout per page (\"You cannot have multiple Embedded Checkout objects\",\n * verified against the live dahlia build). Framer can keep one component instance per breakpoint,\n * so the page-level owner hands the checkout over instead of letting two instances collide.\n */const checkoutOwner={current:null};/** Resolves once the most recent create() has settled AND, if it went stale, been destroyed. */let checkoutSettled=Promise.resolve();/** A payment completed inside an instance that a breakpoint has hidden: the visible one shows the confirmation. */const SUCCESS_HANDOFF=\"kais:cap-success-handoff\";function keyMode(key){return/^(pk|cs|rk|sk)_test_/.test(key)?\"test\":/^(pk|cs|rk|sk)_live_/.test(key)?\"live\":\"\";}/**\n * Asks the session endpoint (Make webhook, Cloudflare Worker…) for a Checkout\n * Session client secret. Deliberately a CORS \"simple request\": POST, no body,\n * no custom headers, so the browser never sends an OPTIONS preflight. The\n * endpoint only has to answer with `Access-Control-Allow-Origin`.\n * Accepts `{\"clientSecret\": \"...\"}`, `{\"client_secret\": \"...\"}`, a JSON string or the raw secret.\n *//** Errors the section explains in its own words: the drop is sold out, or this connection holds too many checkouts. */class EndpointError extends Error{constructor(code,message){super(message);_define_property(this,\"code\",void 0);this.code=code;}}/**\n * Asks the session endpoint for a Checkout Session. Always a CORS \"simple\" request (no preflight): POST with no body,\n * or a text/plain body `{\"resume\":\"cs_…\"}` to get back the checkout this browser already had (a reload must not\n * reserve a second cap). `expiresAt` (Unix seconds) comes from endpoints that hold stock; 0 when unknown.\n */async function fetchClientSecret(endpoint,publishableKey,resume){const ctrl=new AbortController;const timer=setTimeout(()=>ctrl.abort(),2e4);try{const init={method:\"POST\",credentials:\"omit\",cache:\"no-store\",signal:ctrl.signal};if(resume)init.body=JSON.stringify({resume})// a string body is sent as text/plain: still no preflight\n;let res;try{res=await fetch(endpoint,init);}catch(err){if(ctrl.signal.aborted)throw new Error(`The Session URL did not answer in 20 s (${endpoint})`);const status=/\\/api\\/create-checkout-session\\/?$/.test(endpoint)?` ${endpoint.replace(/\\/create-checkout-session\\/?$/,\"/status\")} should open in a browser.`:\"\";throw new Error(`Could not reach the Session URL (${endpoint}) from ${location.origin}. Check the address.${status}`);}const text=(await res.text()).trim();let json=null;try{json=JSON.parse(text);}catch(_){/* raw text body */}if(res.status===409&&json&&json.soldOut)throw new EndpointError(\"soldout\",\"Sold out\");if(res.status===429)throw new EndpointError(\"busy\",\"Too many open checkouts from this connection\");// The KAIS backend names what is wrong; say it in words for whoever is setting the site up (visitors see errorText)\nconst why={origin_not_allowed:`this site (${location.origin}) is not in ALLOWED_ORIGINS. Add it in Vercel → Settings → Environment Variables, then redeploy.`,misconfigured:\"STRIPE_SECRET_KEY or STRIPE_PRICE_ID is missing in Vercel (or was added without a redeploy).\",checkout_could_not_start:\"Stripe refused to create the session. The reason is in Vercel → Logs (often: the price belongs to another account or mode than the secret key).\"};if(!res.ok)throw new Error(`Session endpoint answered ${res.status}: ${json&&why[json.error]||text.slice(0,160)}`);let secret=text.replace(/^\"|\"$/g,\"\");if(json!==null)secret=typeof json===\"string\"?json:json.clientSecret||json.client_secret||json.data&&json.data.client_secret||\"\";if(!secret||!secret.startsWith(\"cs_\"))throw new Error(\"Session endpoint did not return a Checkout Session client secret (cs_…)\");// A live key with a test session (or the reverse) never loads: Stripe just shows \"Something went wrong\"\n// inside its iframe without telling the page. Catch it here, where we can explain it.\nconst pk=keyMode(publishableKey);const cs=keyMode(secret);if(pk&&cs&&pk!==cs)throw new Error(`Key mode mismatch: publishable key is ${pk} but the session is ${cs}. Use keys from the same mode.`);const expiresAt=json&&typeof json===\"object\"&&Number(json.expiresAt)>0?Number(json.expiresAt):0;return{secret,expiresAt};}finally{clearTimeout(timer);}}/** The checkout this browser holds, so a reload resumes it instead of reserving another unit. */const savedKey=endpoint=>\"kais-cap:checkout:\"+endpoint;function readSaved(endpoint){try{const v=JSON.parse(window.localStorage.getItem(savedKey(endpoint))||\"null\");// two minutes of margin: a checkout about to expire is not worth resuming\nif(v&&typeof v.secret===\"string\"&&v.expiresAt*1e3-Date.now()>12e4)return v;}catch(_){}return null;}function writeSaved(endpoint,grant){try{window.localStorage.setItem(savedKey(endpoint),JSON.stringify(grant));}catch(_){}}function clearSaved(endpoint){try{window.localStorage.removeItem(savedKey(endpoint));}catch(_){}}/** Optional hooks for analytics: window \"kais:cap\" CustomEvent + dataLayer push when GTM is present. */function track(type,detail={}){if(!isBrowser)return;try{window.dispatchEvent(new CustomEvent(\"kais:cap\",{detail:{type,...detail}}));const dl=window.dataLayer;if(Array.isArray(dl))dl.push({event:`kais_cap_${type}`,...detail});}catch(_){}}function watchIframeLoad(container,cb){let fired=false;const fire=()=>{if(fired)return;fired=true;cb();};const fallback=setTimeout(fire,4500);const hook=frame=>frame.addEventListener(\"load\",()=>setTimeout(fire,180),{once:true});const current=container.querySelector(\"iframe\");let mo=null;if(current)hook(current);else{mo=new MutationObserver(()=>{const f=container.querySelector(\"iframe\");if(f){hook(f);mo&&mo.disconnect();}});mo.observe(container,{childList:true,subtree:true});}return()=>{clearTimeout(fallback);mo&&mo.disconnect();};}function buildCapGeometry(){const lines=[];const RX=.98;const RZ=1.08;const FRONT=Math.PI/2;const crown=(phi,t)=>{const a=t*Math.PI/2;const s=Math.pow(Math.sin(a),.7);// structured front, crown sloping gently towards the back\nconst lift=.86+.12*Math.sin(phi)*s;return[RX*s*Math.cos(phi),lift*Math.pow(Math.cos(a),1.05),RZ*s*Math.sin(phi)];};const range=(n,f)=>Array.from({length:n+1},(_,i)=>f(i/n));// Six panel seams, one at centre front\nfor(let k=0;k<6;k++){const phi=FRONT+k*Math.PI/3;lines.push({kind:0,pts:range(30,u=>crown(phi,.05+u*.95))});}// Base band with the snapback arch at the back\nconst BACK=FRONT+Math.PI;const ARCH=.34;lines.push({kind:0,pts:range(110,u=>crown(BACK+ARCH+u*(2*Math.PI-2*ARCH),1))});lines.push({kind:0,pts:range(24,u=>crown(BACK-ARCH+u*2*ARCH,1-.14*Math.sin(u*Math.PI)))});lines.push({kind:1,pts:range(12,u=>{const a=crown(BACK-ARCH,1);const b=crown(BACK+ARCH,1);return[a[0]+(b[0]-a[0])*u,.035,a[2]+(b[2]-a[2])*u];})});// Two quiet latitudes for volume\nfor(const t of[.5,.8])lines.push({kind:2,pts:range(96,u=>crown(u*Math.PI*2,t))});// Top button\nlines.push({kind:0,pts:range(18,u=>crown(u*Math.PI*2,.05))});// Eyelets, one per panel\nfor(let k=0;k<6;k++){const pc=FRONT+Math.PI/6+k*Math.PI/3;const tc=.36;const s=Math.pow(Math.sin(tc*Math.PI/2),.72);lines.push({kind:2,pts:range(12,u=>crown(pc+.04/s*Math.cos(u*Math.PI*2),tc+.028*Math.sin(u*Math.PI*2)))});}// Visor: pre-curved brim with converging stitch rows\nconst A=1.3;const LMAX=.74;const visor=(phi,r)=>{const base=crown(phi,1);// a bill grows forward, not radially: blend the rim normal towards +z\nlet nx=base[0]/(RX*RX)*.35;let nz=base[2]/(RZ*RZ)+.9;const nl=Math.hypot(nx,nz)||1;nx/=nl;nz/=nl;const u=(phi-FRONT)/A;const L=LMAX*Math.pow(Math.max(0,1-u*u),.42);const d=L*r;// slight downward pitch + pre-curve: the sides of the bill bend down\nconst y=-(.12*r*(L/LMAX))-.34*u*u*Math.pow(r,1.1)*(.3+L/LMAX);return[base[0]+nx*d,y,base[2]+nz*d];};lines.push({kind:0,pts:range(64,u=>visor(FRONT-A+u*2*A,1))});for(const r of[.56,.67,.78,.89])lines.push({kind:1,pts:range(60,u=>visor(FRONT-A+u*2*A,r))});// Rotate about the visual centre (crown + bill), not the crown alone: no wobble, tighter bounds\nconst PIVOT_Z=.3;for(const l of lines)for(const p of l.pts)p[2]-=PIVOT_Z;return lines;}const CAP_GEOMETRY=buildCapGeometry();const CAP_TILT=.27;const CAP_FOCAL=7.5;const CAP_Y_OFFSET=.3;function projectUnit(p,cT,sT,cA,sA){const x1=p[0]*cT+p[2]*sT;const z1=-p[0]*sT+p[2]*cT;const y1=p[1]-CAP_Y_OFFSET;const y2=y1*cA-z1*sA;const z2=y1*sA+z1*cA;const k=CAP_FOCAL/(CAP_FOCAL-z2);return[x1*k,y2*k,z2];}// Bounding box of the drawing over a full turn, so it always fits its box (never clipped, always centred)\nconst CAP_BOUNDS=(()=>{let minX=Infinity;let maxX=-Infinity;let minY=Infinity;let maxY=-Infinity;const cA=Math.cos(CAP_TILT);const sA=Math.sin(CAP_TILT);for(let i=0;i<72;i++){const th=i/72*Math.PI*2;const cT=Math.cos(th);const sT=Math.sin(th);for(const l of CAP_GEOMETRY)for(const p of l.pts){const[x,y]=projectUnit(p,cT,sT,cA,sA);if(x<minX)minX=x;if(x>maxX)maxX=x;if(y<minY)minY=y;if(y>maxY)maxY=y;}}return{minX,maxX,minY,maxY,w:maxX-minX,h:maxY-minY};})();function colorToRgb(color){const c=(color||\"\").trim();const hex=/^#?([\\da-f]{2})([\\da-f]{2})([\\da-f]{2})/i.exec(c);if(hex)return[parseInt(hex[1],16),parseInt(hex[2],16),parseInt(hex[3],16)];const short=/^#([\\da-f])([\\da-f])([\\da-f])$/i.exec(c);if(short)return[parseInt(short[1]+short[1],16),parseInt(short[2]+short[2],16),parseInt(short[3]+short[3],16)];const rgb=/rgba?\\(\\s*([\\d.]+)[\\s,]+([\\d.]+)[\\s,]+([\\d.]+)/i.exec(c);if(rgb)return[Math.round(+rgb[1]),Math.round(+rgb[2]),Math.round(+rgb[3])];return[26,39,68];}function drawPlaceholderCap(ctx,w,h,phase,color,dpr){ctx.setTransform(1,0,0,1,0,0);ctx.clearRect(0,0,w,h);const theta=phase*Math.PI*2;const cT=Math.cos(theta);const sT=Math.sin(theta);const cA=Math.cos(CAP_TILT);const sA=Math.sin(CAP_TILT);const scale=Math.min(w*.96/CAP_BOUNDS.w,h*.96/CAP_BOUNDS.h);const cx=w/2-(CAP_BOUNDS.minX+CAP_BOUNDS.maxX)/2*scale;const cy=h/2+(CAP_BOUNDS.minY+CAP_BOUNDS.maxY)/2*scale;const[r,g,b]=colorToRgb(color);const BUCKETS=9;const paths=[0,1,2].map(()=>Array.from({length:BUCKETS},()=>new Path2D));for(const line of CAP_GEOMETRY){let px=0;let py=0;let pz=0;let run=-1;for(let i=0;i<line.pts.length;i++){const[ux,uy,z2]=projectUnit(line.pts[i],cT,sT,cA,sA);const sx=cx+ux*scale;const sy=cy-uy*scale;if(i>0){const depth=(pz+z2)/2;const d=clamp((depth+1.15)/2.3,0,1);const bucket=Math.min(BUCKETS-1,Math.floor(d*d*(3-2*d)*BUCKETS));const path=paths[line.kind][bucket];if(bucket!==run){path.moveTo(px,py);run=bucket;}path.lineTo(sx,sy);}px=sx;py=sy;pz=z2;}}ctx.lineCap=\"round\";ctx.lineJoin=\"round\";const kindStyle=[{width:1.15,alpha:1,dash:[]},{width:.85,alpha:.8,dash:[2.2*dpr,2.6*dpr]},{width:.8,alpha:.5,dash:[]}];for(let kind=0;kind<3;kind++){const st=kindStyle[kind];ctx.lineWidth=st.width*dpr;ctx.setLineDash(st.dash);for(let bI=0;bI<BUCKETS;bI++){const t=(bI+.5)/BUCKETS;const a=(.07+.58*t)*st.alpha;ctx.strokeStyle=`rgba(${r},${g},${b},${a.toFixed(3)})`;ctx.stroke(paths[kind][bI]);}}ctx.setLineDash([]);}// ─── Frame sequence store (progressive, nearest-frame fallback) ─────────────\nfunction progressiveOrder(n){const order=[];const seen=new Uint8Array(n);let step=1;while(step*2<n)step*=2;for(;step>=1;step=Math.floor(step/2)){for(let i=0;i<n;i+=step){if(!seen[i]){seen[i]=1;order.push(i);}}if(step===1)break;}return order;}function expandPattern(pattern,count,start){// cap-{nnn}.webp → cap-001.webp …  |  cap-{n}.webp → cap-1.webp …\nreturn Array.from({length:count},(_,i)=>pattern.replace(/\\{(n+)\\}/,(_m,ns)=>String(start+i).padStart(ns.length,\"0\")));}class FrameStore{nearest(i){const n=this.imgs.length;for(let d=0;d<=n/2;d++){const a=this.imgs[(i+d)%n];if(a)return a;const b=this.imgs[(i-d+n)%n];if(b)return b;}return null;}dispose(){this.cancelled=true;this.imgs=[];}constructor(urls,onLoad){_define_property(this,\"urls\",void 0);_define_property(this,\"imgs\",void 0);_define_property(this,\"loaded\",0);_define_property(this,\"cancelled\",false);this.urls=urls;this.imgs=urls.map(()=>null);const queue=progressiveOrder(urls.length);const next=()=>{if(this.cancelled)return;const i=queue.shift();if(i===undefined)return;const img=new Image;img.decoding=\"async\";img.src=urls[i];const settle=()=>{if(this.cancelled)return;if(img.naturalWidth>0){this.imgs[i]=img;this.loaded++;onLoad(this);}next();};(img.decode?img.decode():Promise.reject()).then(settle,()=>{if(img.complete)settle();else{img.onload=settle;img.onerror=()=>next();}});};for(let c=0;c<Math.min(6,urls.length);c++)next();}}function drawContain(ctx,img,w,h,alpha){const ir=img.naturalWidth/img.naturalHeight;const cr=w/h;const dw=ir>cr?w:h*ir;const dh=ir>cr?w/ir:h;ctx.globalAlpha=alpha;ctx.drawImage(img,(w-dw)/2,(h-dh)/2,dw,dh);}// ─── 3D cap: the real KAIS cap, rebuilt procedurally (three.js loaded on demand) ───\n// @@CAP_MODEL_START (generated from src/capTextures.ts + src/capModel.ts by tmp/inline.py: edit there)\n/** Liberation Serif Regular outlines (SIL OFL 1.1), em = 1000, y down, baseline 0: the embroidery lettering\n *  (satin stitching thickens its strokes to the 2.3 mm measured on the photos). */const KAIS_GLYPHS={glyphs:{\" \":{d:\"\",adv:250},\"(\":{d:\"M138.1 -241.2Q138.1 -114.2 155.2 -38.8Q172.3 36.6 208.9 88.3Q245.6 140.1 300.7 171.8V212.8Q204.1 161.6 149.6 100.8Q95.2 40.0 69.5 -42.2Q43.9 -124.5 43.9 -241.2Q43.9 -357.4 69.3 -439.2Q94.7 -520.9 148.9 -581.5Q203.1 -642.0 300.7 -693.8V-652.8Q241.2 -618.6 206.0 -565.1Q170.8 -511.7 154.5 -440.4Q138.1 -369.1 138.1 -241.2Z\",adv:333},\")\":{d:\"M32.2 212.8V171.8Q87.4 140.1 124.0 88.1Q160.6 36.1 177.7 -39.3Q194.8 -114.7 194.8 -241.2Q194.8 -369.1 178.4 -440.4Q162.1 -511.7 126.9 -565.1Q91.7 -618.6 32.2 -652.8V-693.8Q129.8 -641.6 184.0 -581.2Q238.2 -520.9 263.6 -439.2Q289.0 -357.4 289.0 -241.2Q289.0 -125.0 263.6 -42.7Q238.2 39.5 184.0 100.0Q129.8 160.6 32.2 212.8Z\",adv:333},\"0\":{d:\"M461.9 -330.0Q461.9 9.7 247.0 9.7Q143.5 9.7 90.8 -77.1Q38.0 -164.0 38.0 -330.0Q38.0 -492.6 90.8 -578.8Q143.5 -665.0 250.9 -665.0Q354.4 -665.0 408.2 -579.8Q461.9 -494.6 461.9 -330.0ZM372.0 -330.0Q372.0 -487.3 342.2 -556.6Q312.5 -625.9 247.0 -625.9Q183.5 -625.9 155.7 -560.5Q127.9 -495.1 127.9 -330.0Q127.9 -164.0 156.2 -96.4Q184.5 -28.8 247.0 -28.8Q311.5 -28.8 341.7 -99.8Q372.0 -170.8 372.0 -330.0Z\",adv:500},\"2\":{d:\"M444.8 0.0H43.9V-71.7L134.7 -154.2Q222.1 -230.9 263.1 -278.3Q304.1 -325.6 322.0 -375.9Q339.8 -426.2 339.8 -491.2Q339.8 -554.6 311.0 -587.8Q282.2 -621.0 216.7 -621.0Q190.9 -621.0 163.5 -614.0Q136.2 -606.9 115.2 -595.2L98.1 -515.1H65.9V-641.1Q154.7 -662.1 216.7 -662.1Q324.2 -662.1 378.1 -617.4Q432.1 -572.7 432.1 -491.2Q432.1 -436.5 410.8 -387.9Q389.6 -339.3 345.7 -291.2Q301.7 -243.1 200.1 -156.7Q156.7 -119.6 107.9 -75.1H444.8Z\",adv:500},\"4\":{d:\"M395.5 -144.0V0.0H311.5V-144.0H19.5V-208.9L339.3 -658.2H395.5V-213.8H484.3V-144.0ZM311.5 -543.4H309.0L74.7 -213.8H311.5Z\",adv:500},a:{d:\"M227.0 -469.2Q302.2 -469.2 337.6 -438.4Q373.0 -407.7 373.0 -344.2V-34.1L430.1 -21.9V0.0H304.1L294.9 -45.8Q239.2 9.7 152.8 9.7Q35.1 9.7 35.1 -126.9Q35.1 -172.8 52.9 -202.8Q70.8 -232.9 109.8 -248.7Q148.9 -264.6 223.1 -266.1L291.9 -268.0V-339.8Q291.9 -387.2 274.6 -409.6Q257.3 -432.1 221.1 -432.1Q172.3 -432.1 131.8 -409.1L115.2 -352.0H87.8V-452.1Q166.9 -469.2 227.0 -469.2ZM291.9 -233.8 228.0 -231.9Q162.5 -229.4 139.4 -206.5Q116.2 -183.5 116.2 -129.8Q116.2 -43.9 186.0 -43.9Q219.2 -43.9 243.4 -51.5Q267.5 -59.0 291.9 -70.8Z\",adv:443.8},c:{d:\"M413.0 -27.8Q389.1 -10.2 347.1 -0.2Q305.1 9.7 261.2 9.7Q38.0 9.7 38.0 -232.9Q38.0 -347.6 94.9 -409.4Q151.8 -471.1 257.8 -471.1Q323.7 -471.1 401.8 -456.0V-328.1H375.0L354.0 -409.1Q313.4 -432.1 256.8 -432.1Q125.9 -432.1 125.9 -232.9Q125.9 -129.3 165.7 -85.2Q205.5 -41.0 289.0 -41.0Q360.3 -41.0 413.0 -57.1Z\",adv:443.8},d:{d:\"M353.0 -34.1Q297.8 9.7 224.1 9.7Q36.1 9.7 36.1 -225.0Q36.1 -345.7 89.3 -408.4Q142.5 -471.1 246.0 -471.1Q298.8 -471.1 353.0 -459.9Q350.0 -476.0 350.0 -541.0V-660.1L272.9 -671.8V-693.8H431.1V-34.1L487.7 -21.9V0.0H358.8ZM124.0 -225.0Q124.0 -132.3 155.2 -86.6Q186.5 -41.0 250.9 -41.0Q306.1 -41.0 350.0 -60.0V-422.8Q306.6 -431.1 250.9 -431.1Q124.0 -431.1 124.0 -225.0Z\",adv:500},e:{d:\"M126.9 -230.9V-222.1Q126.9 -154.7 141.8 -117.4Q156.7 -80.0 187.7 -60.5Q218.7 -41.0 269.0 -41.0Q295.4 -41.0 331.5 -45.4Q367.6 -49.8 391.1 -55.1V-27.8Q367.6 -12.6 327.3 -1.4Q287.1 9.7 245.1 9.7Q138.1 9.7 88.6 -47.8Q39.0 -105.4 39.0 -232.9Q39.0 -353.0 89.3 -412.1Q139.6 -471.1 232.9 -471.1Q409.1 -471.1 409.1 -270.9V-230.9ZM232.9 -432.1Q182.1 -432.1 155.0 -391.1Q127.9 -350.0 127.9 -270.0H324.2Q324.2 -357.4 301.7 -394.7Q279.2 -432.1 232.9 -432.1Z\",adv:443.8},f:{d:\"M109.8 -417.9H30.7V-441.8L109.8 -460.9V-493.1Q109.8 -594.7 150.1 -649.4Q190.4 -704.1 263.1 -704.1Q300.7 -704.1 333.0 -694.8V-594.7H309.0L287.1 -654.7Q270.5 -665.0 247.0 -665.0Q216.3 -665.0 203.6 -637.6Q190.9 -610.3 190.9 -535.1V-458.9H312.9V-417.9H190.9V-38.0L290.0 -21.9V0.0H41.9V-21.9L109.8 -38.0Z\",adv:333},g:{d:\"M424.8 -313.9Q424.8 -234.8 377.4 -194.3Q330.0 -153.8 241.2 -153.8Q201.1 -153.8 166.9 -161.1L136.2 -97.1Q137.6 -88.8 155.2 -81.5Q172.8 -74.2 199.2 -74.2H334.9Q409.1 -74.2 445.0 -41.9Q480.9 -9.7 480.9 46.8Q480.9 98.1 452.3 136.2Q423.8 174.3 368.6 195.0Q313.4 215.8 234.8 215.8Q141.1 215.8 92.0 187.0Q42.9 158.2 42.9 104.9Q42.9 79.1 60.5 53.9Q78.1 28.8 125.0 -4.8Q97.1 -14.1 78.1 -36.6Q59.0 -59.0 59.0 -84.9L136.2 -171.8Q59.0 -208.0 59.0 -313.9Q59.0 -389.1 106.6 -430.1Q154.2 -471.1 245.1 -471.1Q263.1 -471.1 291.5 -467.5Q319.8 -463.8 334.9 -458.9L442.8 -513.1L459.9 -492.1L392.0 -421.8Q424.8 -385.2 424.8 -313.9ZM404.7 62.0Q404.7 34.1 387.6 18.5Q370.6 2.9 335.9 2.9H158.2Q137.6 20.5 124.7 47.6Q111.8 74.7 111.8 98.1Q111.8 140.1 142.0 158.4Q172.3 176.7 234.8 176.7Q316.4 176.7 360.5 146.4Q404.7 116.2 404.7 62.0ZM242.1 -190.9Q295.4 -190.9 317.6 -221.4Q339.8 -251.9 339.8 -313.9Q339.8 -378.9 316.8 -406.4Q293.9 -434.0 243.1 -434.0Q191.8 -434.0 167.9 -406.2Q144.0 -378.4 144.0 -313.9Q144.0 -249.5 167.4 -220.2Q190.9 -190.9 242.1 -190.9Z\",adv:500},h:{d:\"M159.1 -495.1Q159.1 -444.3 155.7 -421.8Q190.9 -441.8 235.5 -456.5Q280.2 -471.1 311.0 -471.1Q370.6 -471.1 400.8 -436.5Q431.1 -401.8 431.1 -335.9V-34.1L486.8 -21.9V0.0H289.0V-21.9L350.0 -34.1V-330.0Q350.0 -414.0 269.0 -414.0Q223.1 -414.0 159.1 -399.9V-34.1L221.1 -21.9V0.0H20.0V-21.9L78.1 -34.1V-660.1L9.7 -671.8V-693.8H159.1Z\",adv:500},i:{d:\"M185.0 -608.8Q185.0 -587.4 169.4 -571.7Q153.8 -556.1 131.8 -556.1Q110.3 -556.1 94.7 -571.7Q79.1 -587.4 79.1 -608.8Q79.1 -630.8 94.7 -646.4Q110.3 -662.1 131.8 -662.1Q153.8 -662.1 169.4 -646.4Q185.0 -630.8 185.0 -608.8ZM180.1 -34.1 258.7 -21.9V0.0H20.9V-21.9L99.1 -34.1V-424.8L34.1 -437.0V-458.9H180.1Z\",adv:277.8},k:{d:\"M167.9 -221.1 355.9 -423.8 308.1 -437.0V-458.9H470.2V-437.0L413.0 -425.7L282.2 -291.9L450.1 -33.2L500.0 -21.9V0.0H312.0V-21.9L354.0 -34.1L228.0 -231.9L167.9 -166.0V-34.1L216.7 -21.9V0.0H28.8V-21.9L86.9 -34.1V-660.1L19.0 -671.8V-693.8H167.9Z\",adv:500},l:{d:\"M179.1 -34.1 257.8 -21.9V0.0H20.0V-21.9L98.1 -34.1V-660.1L20.0 -671.8V-693.8H179.1Z\",adv:277.8},m:{d:\"M159.1 -421.8Q195.8 -442.8 236.8 -457.0Q277.8 -471.1 309.0 -471.1Q342.7 -471.1 371.3 -458.4Q399.9 -445.8 414.0 -417.9Q451.6 -438.9 502.1 -455.0Q552.7 -471.1 585.9 -471.1Q703.1 -471.1 703.1 -335.9V-34.1L762.2 -21.9V0.0H553.7V-21.9L622.0 -34.1V-327.1Q622.0 -411.1 543.9 -411.1Q531.2 -411.1 514.4 -409.1Q497.5 -407.2 480.7 -404.7Q463.8 -402.3 448.4 -399.1Q433.1 -395.9 422.8 -394.0Q431.1 -367.6 431.1 -335.9V-34.1L500.0 -21.9V0.0H282.2V-21.9L350.0 -34.1V-327.1Q350.0 -367.6 329.3 -389.4Q308.5 -411.1 267.0 -411.1Q224.1 -411.1 160.1 -396.9V-34.1L229.0 -21.9V0.0H20.9V-21.9L79.1 -34.1V-424.8L20.9 -437.0V-458.9H155.2Z\",adv:777.8},n:{d:\"M158.2 -421.8Q195.8 -443.3 238.2 -457.2Q280.7 -471.1 309.0 -471.1Q368.6 -471.1 398.9 -436.5Q429.1 -401.8 429.1 -335.9V-34.1L484.8 -21.9V0.0H287.1V-21.9L348.1 -34.1V-327.1Q348.1 -367.6 328.3 -390.8Q308.5 -414.0 267.0 -414.0Q223.1 -414.0 159.1 -399.9V-34.1L221.1 -21.9V0.0H22.9V-21.9L78.1 -34.1V-424.8L22.9 -437.0V-458.9H153.8Z\",adv:500},o:{d:\"M461.9 -231.9Q461.9 9.7 247.0 9.7Q143.5 9.7 90.8 -52.2Q38.0 -114.2 38.0 -231.9Q38.0 -348.1 90.8 -409.6Q143.5 -471.1 250.9 -471.1Q355.4 -471.1 408.6 -410.8Q461.9 -350.5 461.9 -231.9ZM374.0 -231.9Q374.0 -337.4 343.2 -384.7Q312.5 -432.1 247.0 -432.1Q183.1 -432.1 154.5 -386.7Q125.9 -341.3 125.9 -231.9Q125.9 -121.0 155.0 -74.9Q184.0 -28.8 247.0 -28.8Q311.5 -28.8 342.7 -76.6Q374.0 -124.5 374.0 -231.9Z\",adv:500},p:{d:\"M74.2 -424.8 21.9 -437.0V-458.9H150.8L151.8 -432.1Q172.3 -449.7 206.7 -460.4Q241.2 -471.1 276.8 -471.1Q364.7 -471.1 412.8 -410.1Q460.9 -349.1 460.9 -234.8Q460.9 -118.1 408.4 -54.1Q355.9 9.7 256.8 9.7Q201.6 9.7 151.8 -0.9Q154.7 34.1 154.7 54.1V178.2L234.8 189.9V212.8H16.1V189.9L74.2 178.2ZM373.0 -234.8Q373.0 -328.6 342.5 -374.2Q312.0 -419.9 250.0 -419.9Q192.8 -419.9 154.7 -403.8V-37.1Q198.2 -28.8 250.0 -28.8Q373.0 -28.8 373.0 -234.8Z\",adv:500},r:{d:\"M324.2 -471.1V-347.1H303.2L274.9 -400.8Q250.4 -400.8 217.0 -394.2Q183.5 -387.6 159.1 -376.9V-34.1L237.7 -21.9V0.0H20.0V-21.9L78.1 -34.1V-424.8L20.0 -437.0V-458.9H153.8L158.2 -401.8Q187.5 -426.2 237.5 -448.7Q287.5 -471.1 316.8 -471.1Z\",adv:333},s:{d:\"M353.0 -128.9Q353.0 -60.5 309.8 -25.3Q266.6 9.7 182.1 9.7Q147.9 9.7 106.6 2.6Q65.4 -4.3 41.9 -13.1V-125.9H63.9L87.8 -62.0Q124.5 -28.8 183.1 -28.8Q277.8 -28.8 277.8 -109.8Q277.8 -169.4 203.1 -194.8L159.6 -208.9Q110.3 -225.0 87.8 -241.6Q65.4 -258.3 53.2 -282.4Q41.0 -306.6 41.0 -340.8Q41.0 -401.3 82.2 -436.2Q123.5 -471.1 193.8 -471.1Q244.1 -471.1 319.8 -456.0V-355.9H296.8L276.3 -409.1Q250.4 -432.1 194.8 -432.1Q155.2 -432.1 134.5 -412.5Q113.7 -393.0 113.7 -359.8Q113.7 -332.0 132.5 -312.9Q151.3 -293.9 189.4 -281.2Q261.2 -256.8 283.2 -245.6Q305.1 -234.3 320.5 -218.0Q335.9 -201.6 344.4 -180.6Q353.0 -159.6 353.0 -128.9Z\",adv:389.2},t:{d:\"M163.0 9.7Q116.2 9.7 93.0 -18.0Q69.8 -45.8 69.8 -96.1V-417.9H9.7V-439.9L70.8 -458.9L120.1 -562.9H150.8V-458.9H255.8V-417.9H150.8V-104.9Q150.8 -73.2 165.2 -57.1Q179.6 -41.0 203.1 -41.0Q231.4 -41.0 271.9 -48.8V-17.0Q254.8 -5.3 222.6 2.1Q190.4 9.7 163.0 9.7Z\",adv:277.8},u:{d:\"M152.8 -130.8Q152.8 -46.8 230.9 -46.8Q291.5 -46.8 344.2 -62.0V-424.8L274.9 -437.0V-458.9H424.8V-34.1L482.9 -21.9V0.0H349.1L345.2 -37.1Q310.5 -18.0 265.1 -4.1Q219.7 9.7 188.9 9.7Q71.7 9.7 71.7 -125.0V-424.8L13.1 -437.0V-458.9H152.8Z\",adv:500},w:{d:\"M513.1 9.7H475.0L361.8 -292.9L250.0 9.7H213.8L55.1 -424.8L0.9 -437.0V-458.9H219.2V-437.0L143.0 -423.8L251.9 -113.7L362.7 -413.0H403.8L514.1 -111.8L618.1 -424.8L542.9 -437.0V-458.9H717.7V-437.0L666.9 -426.7Z\",adv:722.2}},kern:{ff:-18.1,rg:-18.1},xHeight:459,capHeight:654.8,ascender:891.1,descender:-216.3};const Cap3D=(()=>{// ── noise ──\nfunction hash2(x,y,seed){let h=Math.imul(x|0,374761393)+Math.imul(y|0,668265263)+Math.imul(seed|0,1442695041)|0;h=Math.imul(h^h>>>13,1274126177);h^=h>>>16;return(h>>>0)/4294967296;}/** Tileable value noise on a period×period lattice, sampled at (u, v) ∈ [0,1)² (wraps). */function tileNoise(period,seed){const g=new Float32Array(period*period);for(let j=0;j<period;j++)for(let i=0;i<period;i++)g[j*period+i]=hash2(i,j,seed);return(u,v)=>{const x=u*period;const y=v*period;const x0=Math.floor(x);const y0=Math.floor(y);const fx=x-x0;const fy=y-y0;const sx=fx*fx*(3-2*fx);const sy=fy*fy*(3-2*fy);const i0=(x0%period+period)%period;const j0=(y0%period+period)%period;const i1=(i0+1)%period;const j1=(j0+1)%period;const a=g[j0*period+i0];const b=g[j0*period+i1];const c=g[j1*period+i0];const d=g[j1*period+i1];return a+(b-a)*sx+(c-a)*sy+(a-b-c+d)*sx*sy;};}/** Tileable value noise with its own lattice period per axis (e.g. streaks: many cells across, few along). */function tileNoise2(px,py,seed){const g=new Float32Array(px*py);for(let j=0;j<py;j++)for(let i=0;i<px;i++)g[j*px+i]=hash2(i,j,seed);return(u,v)=>{const x=u*px;const y=v*py;const x0=Math.floor(x);const y0=Math.floor(y);const fx=x-x0;const fy=y-y0;const sx=fx*fx*(3-2*fx);const sy=fy*fy*(3-2*fy);const i0=(x0%px+px)%px;const j0=(y0%py+py)%py;const i1=(i0+1)%px;const j1=(j0+1)%py;const a=g[j0*px+i0];const b=g[j0*px+i1];const c=g[j1*px+i0];const d=g[j1*px+i1];return a+(b-a)*sx+(c-a)*sy+(a-b-c+d)*sx*sy;};}/** Plain (non-tiling) value noise on a unit lattice. */function valueNoise(seed){return(x,y)=>{const x0=Math.floor(x);const y0=Math.floor(y);const fx=x-x0;const fy=y-y0;const sx=fx*fx*(3-2*fx);const sy=fy*fy*(3-2*fy);const a=hash2(x0,y0,seed);const b=hash2(x0+1,y0,seed);const c=hash2(x0,y0+1,seed);const d=hash2(x0+1,y0+1,seed);return a+(b-a)*sx+(c-a)*sy+(a-b-c+d)*sx*sy;};}/**\n     * Value noise from a 256×256 lattice table (periodic every 256 units). Same look as valueNoise, but a table\n     * lookup instead of four integer hashes per sample: the map loops call it tens of millions of times.\n     */function latticeNoise(seed){const g=new Float32Array(65536);for(let j=0;j<256;j++)for(let i=0;i<256;i++)g[j<<8|i]=hash2(i,j,seed);return(x,y)=>{const x0=Math.floor(x);const y0=Math.floor(y);const fx=x-x0;const fy=y-y0;const sx=fx*fx*(3-2*fx);const sy=fy*fy*(3-2*fy);const i0=x0&255;const j0=(y0&255)<<8;const i1=i0+1&255;const j1=j0+256&65280;const a=g[j0|i0];const b=g[j0|i1];const c=g[j1|i0];const d=g[j1|i1];return a+(b-a)*sx+(c-a)*sy+(a-b-c+d)*sx*sy;};}const clamp01=x=>x<0?0:x>1?1:x;const smoothstep=(a,b,x)=>{const k=clamp01((x-a)/(b-a));return k*k*(3-2*k);};function hexToLinear(hex){const m=/^#?([\\da-f]{2})([\\da-f]{2})([\\da-f]{2})/i.exec(hex);const c=m?[parseInt(m[1],16),parseInt(m[2],16),parseInt(m[3],16)]:[160,145,135];return c.map(v=>{const s=v/255;return s<=.04045?s/12.92:Math.pow((s+.055)/1.055,2.4);});}function linToSrgb8(x){const v=x<=0?0:x>=1?1:x;const s=v<=.0031308?v*12.92:1.055*Math.pow(v,1/2.4)-.055;return Math.round(s*255);}// fast sRGB encode through a table (linear 0..1 in 4096 steps)\nconst SRGB_LUT=(()=>{const t=new Uint8Array(4097);for(let i=0;i<=4096;i++)t[i]=linToSrgb8(i/4096);return t;})();const enc=x=>SRGB_LUT[x<=0?0:x>=1?4096:x*4096+.5|0];/** Separable box blur (clamped edges), in place friendly: returns a new array. */function boxBlur(src,W,H,r,passes=1,wrapX=false){let a=src;const tmp=new Float32Array(W*H);const col=new Float64Array(W)// running column sums: the vertical pass walks rows, not strided columns\n;const inv=1/(2*r+1);const wx=x=>wrapX?(x%W+W)%W:x<0?0:x>=W?W-1:x;const cy=y=>y<0?0:y>=H?H-1:y;for(let p=0;p<passes;p++){const out=new Float32Array(W*H);for(let y=0;y<H;y++){const o=y*W;let acc=0;for(let x=-r;x<=r;x++)acc+=a[o+wx(x)];for(let x=0;x<W;x++){tmp[o+x]=acc*inv;let xa=x+r+1;let xr=x-r;if(xa>=W)xa=wrapX?xa-W:W-1;if(xr<0)xr=wrapX?xr+W:0;acc+=a[o+xa]-a[o+xr];}}col.fill(0);for(let y=-r;y<=r;y++){const o=cy(y)*W;for(let x=0;x<W;x++)col[x]+=tmp[o+x];}for(let y=0;y<H;y++){const o=y*W;const oa=cy(y+r+1)*W;const orr=cy(y-r)*W;for(let x=0;x<W;x++){out[o+x]=col[x]*inv;col[x]+=tmp[oa+x]-tmp[orr+x];}}a=out;}return a;}/** Normal map (RGBA8, A=255) from a height field in cm, given the texel size in cm along u and v. */function packNormal(Hf,W,H,du,dv,wrapX,out,strength=1){for(let y=0;y<H;y++){const ym=y>0?y-1:0;const yp=y<H-1?y+1:H-1;for(let x=0;x<W;x++){const xm=wrapX?(x-1+W)%W:x>0?x-1:0;const xp=wrapX?(x+1)%W:x<W-1?x+1:W-1;const sx=du(x,y);const sy=dv(x,y);const gx=sx>1e-6?(Hf[y*W+xp]-Hf[y*W+xm])/((wrapX?2:xp-xm||1)*sx)*strength:0;const gy=sy>1e-6?(Hf[yp*W+x]-Hf[ym*W+x])/((yp-ym||1)*sy)*strength:0;const il=1/Math.sqrt(gx*gx+gy*gy+1);const o=(y*W+x)*4;out[o]=(-gx*il*.5+.5)*255+.5|0;out[o+1]=(-gy*il*.5+.5)*255+.5|0;out[o+2]=(il*.5+.5)*255+.5|0;out[o+3]=255;}}}// ─────────────────────────── twill ───────────────────────────\n/**\n     * Cotton drill woven as it really is: a 3/1 twill (each warp end floats over three picks and under one, stepping\n     * one pick per end), so the wales and their grooves come out of the weave instead of being painted as stripes.\n     * Tile axes: u along the weft (the crown rows), v along the warp (the grain, up the meridian).\n     * Warp:weft spacing 1:2 gives wales at 116.6° from the rows (measured 114–116° on photos 03/05) and\n     * 0.85 mm between wales (measured 0.79–0.93 mm): 96 ends × 48 picks per tile, 0.2376 mm per end.\n     */const TWILL_ENDS=96;const TWILL_PICKS=48;const TWILL_TILE_CM=2.281;/** wales per tile length, perpendicular spacing (for the screen-density fade) */const TWILL_WALES=TWILL_TILE_CM/.085;/** The tile carries the wale angle itself: the geometry's twill UVs only follow the grain (0° = u along the rows). */const TWILL_ANGLE=90;async function twillTile(N,step){const hgt=new Float32Array(N*N);const mul=new Float32Array(N*N)// albedo multiplier (mean 1)\n;const E=TWILL_ENDS;const P=TWILL_PICKS;const wanderE=tileNoise(8,41)// ends are not perfectly straight\n;const wanderP=tileNoise(8,42);const slubE=tileNoise(16,43)// yarn thickness / dye uptake along each end (≈ 3 mm correlation)\n;const slubP=tileNoise(16,44);const fuzz=tileNoise(192,45)// fibre fuzz, a few texels across\n;const wash=tileNoise(6,46)// soft washed-out patches across the tile\n;const streak=tileNoise2(40,3,51)// garment-dye streaks running with the warp (long, narrow)\n;const endB=new Float32Array(E);const pickB=new Float32Array(P);for(let i=0;i<E;i++)endB[i]=(hash2(i,5,47)-.5)*.18;for(let j=0;j<P;j++)pickB[j]=(hash2(j,6,48)-.5)*.12;// each yarn reads its own column (row) of the slub noise: neighbours are independent\nconst endR=new Float32Array(E);const pickR=new Float32Array(P);for(let i=0;i<E;i++)endR[i]=hash2(i,7,49);for(let j=0;j<P;j++)pickR[j]=hash2(j,8,50);let sum=0;for(let y=0;y<N;y++){const v=(y+.5)/N;for(let x=0;x<N;x++){const u=(x+.5)/N;// yarn coordinates, with a little wander\nconst X=u*E+(wanderE(u,v)-.5)*.35;const Y=v*P+(wanderP(u,v)-.5)*.3;const i=Math.floor(X);const j=Math.floor(Y);const fx=X-i;const fy=Y-j;const ii=(i%E+E)%E;const jj=(j%P+P)%P;const k=((ii+jj)%4+4)%4;let h;let b;if(k<3){// warp float over three picks: flat-topped end, dipping where it goes under the weft\n// the float is highest mid-way and dives at both ends; the ends of neighbouring floats line up\n// on the diagonal, so this is what rounds each wale into a ridge\nconst sAlong=(k+fy)/3;const env=Math.pow(Math.sin(Math.PI*sAlong),.8);const q=2*fx-1;const q4=q*q*q*q;const cross=1-.25*q4*q4// warp-faced: the ends are packed tight, only a faint parting\n;const th=1+.22*(slubE(endR[ii],v)-.5);h=th*cross*(.35+.65*env);b=1+endB[ii]+.24*(slubE(endR[ii]+.5,v+.37)-.5);}else{// the weft on top for one end: the groove between two wales\nconst q=2*fy-1;const cross=1-q*q;const env=Math.pow(Math.sin(Math.PI*fx),.6);const th=1+.2*(slubP(u,pickR[jj])-.5);h=th*(.18+.32*cross*env);b=1.03+pickB[jj]+.16*(slubP(u+.3,pickR[jj]+.5)-.5);}// the wale itself: fibres of neighbouring floats lie along the diagonal and blur the float ends into a\n// continuous rounded ridge (what a camera sees at 0.2 mm per pixel); the weave above adds the floats\nconst ph=(X+Y)*.25;const wv=Math.pow(.5-.5*Math.cos(2*Math.PI*(ph-Math.floor(ph))),.7);h=.55*wv*(1+.15*(slubE(endR[ii]+.25,v)-.5))+.45*h;const fz=fuzz(u,v)-.5;h+=.06*fz;// self-shadowing of the weave: low parts read darker even under soft light\n// fibre flecks: the odd loose fibre catches the light\nconst fleck=hash2(x>>1,y>>1,52)>.985?.18:0;const m=b*(.5+.62*Math.min(1,Math.max(0,h)))*(1+.12*fz+fleck)*(1+.07*(wash(u,v)-.5))*(1+.08*(streak(u,v)-.5));const o=y*N+x;hgt[o]=h;mul[o]=m;sum+=m;}if((y&63)===63)await step();}const mean=sum/(N*N);const out=new Uint8Array(N*N*4);const texel=TWILL_TILE_CM/N;const amp=.012// cm: float height above the groove\n;for(let k=0;k<N*N;k++)hgt[k]*=amp;packNormal(hgt,N,N,()=>texel,()=>texel,true,out,1);// wrap vertically too\nfor(let i=0;i<N;i++)for(const j of[0,N-1]){const jm=(j-1+N)%N;const jp=(j+1)%N;const gx=(hgt[j*N+(i+1)%N]-hgt[j*N+(i-1+N)%N])/(2*texel);const gy=(hgt[jp*N+i]-hgt[jm*N+i])/(2*texel);const il=1/Math.sqrt(gx*gx+gy*gy+1);const o=(j*N+i)*4;out[o]=(-gx*il*.5+.5)*255+.5|0;out[o+1]=(-gy*il*.5+.5)*255+.5|0;out[o+2]=(il*.5+.5)*255+.5|0;}// alpha: albedo multiplier around 1 (a = 0.5 ↔ ×1), ±1 range\nfor(let k=0;k<N*N;k++)out[k*4+3]=Math.max(0,Math.min(255,Math.round(127.5*(1+(mul[k]/mean-1)))));return out;}/**\n     * Twill texture coordinates for a crown panel = the panel flattened back into the flat piece of cloth it was cut\n     * from. A panel of a real cap is a flat piece of twill: its grain is straight in the cut piece and the cloth only\n     * shears a little to follow the dome, so near the button the wales are straight and parallel, not fanned out.\n     * Solved as an as-rigid-as-possible parameterisation (local/global, cotangent Laplacian factored once) on a\n     * coarse copy of the panel grid, started from the row/meridian arc-length map `init` and turned back to it at\n     * the end, so the grain keeps running up the middle of the panel.\n     * P: node positions (cols+1)×(rows+1), row-major by j. init/result: u,v per node in tile units.\n     */let ARAP_ITERS=10;function setArapIters(n){ARAP_ITERS=n;}function twillField(P,cols,rows,init,angleDeg,tileCm){void angleDeg// the tile carries the wale angle; the grain direction comes from init\n;const nx=cols+1;const ny=rows+1;const si=Math.max(1,Math.round(cols/28));const sj=Math.max(1,Math.round(rows/44));const ci=[];const cj=[];for(let i=0;i<nx;i+=si)ci.push(i);if(ci[ci.length-1]!==cols)ci.push(cols);for(let j=0;j<ny;j+=sj)cj.push(j);if(cj[cj.length-1]!==rows)cj.push(rows);const CX=ci.length;const CY=cj.length;const n=CX*CY;const X=new Float64Array(n*3);const U0=new Float64Array(n*2)// init, cm\n;for(let J=0;J<CY;J++)for(let I=0;I<CX;I++){const k=J*CX+I;const g=cj[J]*nx+ci[I];X[k*3]=P[g*3];X[k*3+1]=P[g*3+1];X[k*3+2]=P[g*3+2];U0[k*2]=init[g*2]*tileCm;U0[k*2+1]=init[g*2+1]*tileCm;}// triangles with their isometric 2D shape (first edge along x) and cotangent weights\nconst tri=[];const shp=[]// x1, x2, y2 (vertex 0 at the origin, vertex 1 at (x1, 0))\n;const cot=[]// cot of the angle opposite edges (1,2), (2,0), (0,1)\n;const addTri=(a,b,c)=>{const e1x=X[b*3]-X[a*3];const e1y=X[b*3+1]-X[a*3+1];const e1z=X[b*3+2]-X[a*3+2];const e2x=X[c*3]-X[a*3];const e2y=X[c*3+1]-X[a*3+1];const e2z=X[c*3+2]-X[a*3+2];const l1=Math.hypot(e1x,e1y,e1z);if(l1<1e-5)return;const x2=(e2x*e1x+e2y*e1y+e2z*e1z)/l1;const y2=Math.sqrt(Math.max(0,e2x*e2x+e2y*e2y+e2z*e2z-x2*x2));if(l1*y2<1e-6)return;tri.push(a,b,c);shp.push(l1,x2,y2);// corner vectors in 2D: p0 = (0,0), p1 = (l1,0), p2 = (x2,y2)\nconst ct=(ax,ay,bx,by)=>(ax*bx+ay*by)/Math.max(1e-9,Math.abs(ax*by-ay*bx));const c0=ct(l1,0,x2,y2)// at p0, opposite edge (1,2)\n;const c1=ct(-l1,0,x2-l1,y2)// at p1, opposite edge (2,0)\n;const c2=ct(-x2,-y2,l1-x2,-y2)// at p2, opposite edge (0,1)\n;cot.push(Math.max(0,Math.min(20,c0)),Math.max(0,Math.min(20,c1)),Math.max(0,Math.min(20,c2)));};for(let J=0;J<CY-1;J++)for(let I=0;I<CX-1;I++){const k=J*CX+I;addTri(k,k+1,k+CX);addTri(k+1,k+CX+1,k+CX);}const nt=tri.length/3;// Laplacian as an edge list (i, j, w), plus diagonal\nconst eI=[];const eJ=[];const eW=[];const diag=new Float64Array(n);for(let t=0;t<nt;t++){const v=[tri[t*3],tri[t*3+1],tri[t*3+2]];for(let e=0;e<3;e++){const a=v[(e+1)%3];const b=v[(e+2)%3];const w=.5*cot[t*3+e];eI.push(a);eJ.push(b);eW.push(w);diag[a]+=w;diag[b]+=w;}}const used=new Uint8Array(n);for(const v of tri)used[v]=1;// pin the node nearest the panel centre at mid height (translation); the rest is free\nconst pin=Math.floor(CY/2)*CX+Math.floor(CX/2);// The Laplacian is the same every iteration and banded (row-major grid: bandwidth CX): factor it once\n// (banded Cholesky, the pin's couplings moved to the right-hand side), then each solve is two sweeps.\nconst B=CX;const Lb=new Float64Array(n*(B+1))// Lb[i * (B+1) + d] = A(i, i − d), then the factor\n;for(let k=0;k<n;k++)Lb[k*(B+1)]=used[k]&&k!==pin?diag[k]:1;const pinW=[]// (node, weight) couplings to the pin\n;for(let e=0;e<eI.length;e++){const a=eI[e];const b=eJ[e];if(a===pin||b===pin){const o=a===pin?b:a;if(o!==pin&&used[o])pinW.push(o,eW[e]);continue;}const hi=a>b?a:b;const lo=a>b?b:a;Lb[hi*(B+1)+(hi-lo)]-=eW[e];}for(let i=0;i<n;i++){const i0=Math.max(0,i-B);for(let jj=i0;jj<=i;jj++){let sum=Lb[i*(B+1)+(i-jj)];const k0=Math.max(i0,jj-B);for(let k=k0;k<jj;k++)sum-=Lb[i*(B+1)+(i-k)]*Lb[jj*(B+1)+(jj-k)];if(jj===i)Lb[i*(B+1)]=Math.sqrt(Math.max(sum,1e-12));else Lb[i*(B+1)+(i-jj)]=sum/Lb[jj*(B+1)];}}const solve=(rhs,x,pinVal)=>{for(let q=0;q<pinW.length;q+=2)rhs[pinW[q]]+=pinW[q+1]*pinVal;rhs[pin]=pinVal;// L y = rhs\nfor(let i=0;i<n;i++){let sum=rhs[i];for(let k=Math.max(0,i-B);k<i;k++)sum-=Lb[i*(B+1)+(i-k)]*x[k];x[i]=sum/Lb[i*(B+1)];}// Lᵀ x = y\nfor(let i=n-1;i>=0;i--){let sum=x[i];for(let k=i+1;k<=Math.min(n-1,i+B);k++)sum-=Lb[k*(B+1)+(k-i)]*x[k];x[i]=sum/Lb[i*(B+1)];}};const u=new Float64Array(n);const v=new Float64Array(n);for(let k=0;k<n;k++){u[k]=U0[k*2];v[k]=U0[k*2+1];}const R=new Float64Array(nt*2)// per-triangle rotation (cos, sin)\n;const bu=new Float64Array(n);const bv=new Float64Array(n);for(let iter=0;iter<ARAP_ITERS;iter++){// local: best rotation of each triangle's current 2D shape onto its isometric shape\nfor(let t=0;t<nt;t++){const a=tri[t*3];const b=tri[t*3+1];const c=tri[t*3+2];const l1=shp[t*3];const x2=shp[t*3+1];const y2=shp[t*3+2];// Jacobian J (uv per local 2D) from edges: [du1 du2; dv1 dv2] = J [l1 x2; 0 y2]\nconst du1=u[b]-u[a];const du2=u[c]-u[a];const dv1=v[b]-v[a];const dv2=v[c]-v[a];const j00=du1/l1;const j01=(du2-j00*x2)/y2;const j10=dv1/l1;const j11=(dv2-j10*x2)/y2;const ca=j00+j11;const sa=j10-j01;const l=Math.hypot(ca,sa)||1;R[t*2]=ca/l;R[t*2+1]=sa/l;}// global: L [u v] = Σ w_ij R_t (p_i − p_j)\nbu.fill(0);bv.fill(0);for(let t=0;t<nt;t++){const vs=[tri[t*3],tri[t*3+1],tri[t*3+2]];const l1=shp[t*3];const px=[0,l1,shp[t*3+1]];const py=[0,0,shp[t*3+2]];const c=R[t*2];const sn=R[t*2+1];for(let e=0;e<3;e++){const i1=(e+1)%3;const i2=(e+2)%3;const w=.5*cot[t*3+e];const dx=px[i1]-px[i2];const dy=py[i1]-py[i2];const rx=c*dx-sn*dy;const ry=sn*dx+c*dy;bu[vs[i1]]+=w*rx;bv[vs[i1]]+=w*ry;bu[vs[i2]]-=w*rx;bv[vs[i2]]-=w*ry;}}for(let k=0;k<n;k++)if(!used[k]){bu[k]=u[k];bv[k]=v[k];}solve(bu,u,u[pin]);solve(bv,v,v[pin]);}// turn (and shift) the flattened piece back onto init: the grain keeps running up the panel\nlet mu=0;let mv=0;let m0u=0;let m0v=0;let cnt=0;for(let k=0;k<n;k++)if(used[k]){mu+=u[k];mv+=v[k];m0u+=U0[k*2];m0v+=U0[k*2+1];cnt++;}mu/=cnt;mv/=cnt;m0u/=cnt;m0v/=cnt;let sxx=0;let sxy=0;for(let k=0;k<n;k++)if(used[k]){const a=u[k]-mu;const b=v[k]-mv;const c=U0[k*2]-m0u;const d=U0[k*2+1]-m0v;sxx+=a*c+b*d;sxy+=a*d-b*c;}const th=Math.atan2(sxy,sxx);const cr=Math.cos(th);const sr=Math.sin(th);const U=new Float32Array(n);const V=new Float32Array(n);for(let k=0;k<n;k++){const a=u[k]-mu;const b=v[k]-mv;U[k]=(cr*a-sr*b+m0u)/tileCm;V[k]=(sr*a+cr*b+m0v)/tileCm;}const valid=used;// back to the full grid, bilinear by arc length (the columns are clustered towards the seams and the rim row\n// is longer: index weights would kink the wales every few columns); invalid coarse nodes keep the initial mapping\nconst rowS=new Float32Array(nx*ny);const colS=new Float32Array(nx*ny);for(let j=0;j<ny;j++)for(let i=1;i<nx;i++){const a=j*nx+i;rowS[a]=rowS[a-1]+Math.hypot(P[a*3]-P[(a-1)*3],P[a*3+1]-P[(a-1)*3+1],P[a*3+2]-P[(a-1)*3+2]);}for(let i=0;i<nx;i++)for(let j=1;j<ny;j++){const a=j*nx+i;const b=a-nx;colS[a]=colS[b]+Math.hypot(P[a*3]-P[b*3],P[a*3+1]-P[b*3+1],P[a*3+2]-P[b*3+2]);}const frac=(S,a,b,c,fallback)=>{const d=S[b]-S[a];return d>1e-6?Math.min(1,Math.max(0,(S[c]-S[a])/d)):fallback;};const out=new Float32Array(nx*ny*2);let I=0;for(let j=0;j<ny;j++){let J=0;while(J<CY-2&&cj[J+1]<=j)J++;const fyI=(j-cj[J])/(cj[J+1]-cj[J]);I=0;for(let i=0;i<nx;i++){while(I<CX-2&&ci[I+1]<=i)I++;const fx=frac(rowS,j*nx+ci[I],j*nx+ci[I+1],j*nx+i,(i-ci[I])/(ci[I+1]-ci[I]));const fy=frac(colS,cj[J]*nx+i,cj[J+1]*nx+i,j*nx+i,fyI);const k00=J*CX+I;const ks=[k00,k00+1,k00+CX,k00+CX+1];const ws=[(1-fx)*(1-fy),fx*(1-fy),(1-fx)*fy,fx*fy];let su=0;let sv=0;let sw=0;for(let q=0;q<4;q++){if(!valid[ks[q]])continue;su+=U[ks[q]]*ws[q];sv+=V[ks[q]]*ws[q];sw+=ws[q];}const o=(j*nx+i)*2;if(sw>1e-6){out[o]=su/sw;out[o+1]=sv/sw;}else{out[o]=init[o];out[o+1]=init[o+1];}}}return out;}// ─────────────────────────── stitches ───────────────────────────\n/** Width of the binding over the back opening's edge, outside face (cm): photo 04, ≈ 6 mm. */const BIND_W=.6;/** Eyelet hole radius (cm): 8–9 px across on photo 09 at 33.8 px/cm (twill ruler) → 2.5 mm. */const EYELET_R0=.125;/** Output of stitchRow (module scope: the map loops call it millions of times without allocating). */const ST={cov:0,shade:1,pit:0};/**\n     * One row of lockstitch topstitching at (along, across), in cm from the row's centre line. Returns the height\n     * (cm) and leaves in ST the thread coverage, a shading factor for the thread's twist, and the needle-hole\n     * darkness. The thread is round, tapers where it dives into the needle holes, and shows its two-ply twist\n     * (≈ 0.6 mm per turn); the fabric is pulled in along the row, most at the holes.\n     */function stitchRow(along,across,pitch,dash,thW,thH){ST.cov=0;ST.shade=1;ST.pit=0;const aa=across<0?-across:across;if(aa>.11)return 0;const ph=along-Math.floor(along/pitch)*pitch;const c=ph-pitch/2// 0 in the middle of the visible thread\n;const ac=c<0?-c:c;const holeD=pitch/2-ac// along-row distance to the nearest needle hole\n;let h=-(.009+.007*Math.exp(-((holeD/.05)**2)))*Math.exp(-((across/.065)**2));const half=dash/2;if(ac<half&&aa<thW){const q=aa/thW;const prof=Math.sqrt(1-q*q);const end=smoothstep(half,half-thW*1.6,ac);const tw=.5+.5*Math.cos(2*Math.PI*(c/.06-across/.05));h+=thH*prof*end*(.84+.16*tw);ST.cov=smoothstep(0,.25,prof*end);ST.shade=.84+.26*tw*prof;}const dg=Math.sqrt(holeD*holeD+across*across);if(dg<.035){const k=1-dg/.035;h-=.012*k*k;ST.pit=k*k;}return h;}/** Crown albedo / normal / ORM (R=AO, G=roughness, B=unused). */async function crownMaps(W,H,ch,f,step){const{nP,nT,phi0,dphi}=ch;const TWO_PI=Math.PI*2;const Hf=new Float32Array(W*H)// fine height (cm)\n;const thread=new Uint8Array(W*H)// stitch thread coverage\n;const eyeRing=new Uint8Array(W*H);const eyeHole=new Uint8Array(W*H);const embCov=new Uint8Array(W*H);const embSh=new Uint8Array(W*H);const wear=new Uint8Array(W*H)// abrasion on raised seam bands (lightens the dye)\n;const Drow=new Float32Array(W)// coarse displacement per texel (row buffer)\n;const Dtex=new Float32Array(W*H);const SPtex=new Float32Array(W*H);const STtex=new Float32Array(W*H);const panelCenters=f.seams.slice(0,-1).map((a,i)=>(a+f.seams[i+1])/2);// row caches over the coarse φ grid\nconst rSY=new Float32Array(nP);const rRA=new Float32Array(nP);const rSP=new Float32Array(nP);const rST=new Float32Array(nP);const rD=new Float32Array(nP);const fillRow=t=>{const ft=Math.min(nT-1.000001,Math.max(0,t/ch.dt));const j0=Math.floor(ft);const k=ft-j0;const a=j0*nP;const b=(j0+1)*nP;for(let i=0;i<nP;i++){rSY[i]=ch.SY[a+i]+(ch.SY[b+i]-ch.SY[a+i])*k;rRA[i]=ch.RA[a+i]+(ch.RA[b+i]-ch.RA[a+i])*k;rSP[i]=ch.SP[a+i]+(ch.SP[b+i]-ch.SP[a+i])*k;rST[i]=ch.ST[a+i]+(ch.ST[b+i]-ch.ST[a+i])*k;rD[i]=ch.D[a+i]+(ch.D[b+i]-ch.D[a+i])*k;}};const lerpRow=(arr,phi)=>{const fp=Math.min(nP-1.000001,Math.max(0,(phi-phi0)/dphi));const i0=Math.floor(fp);return arr[i0]+(arr[i0+1]-arr[i0])*(fp-i0);};// ── creases: washed cotton crinkles, per panel in local (sx, sy) cm, rasterised at 30 px/cm\nconst CPX=30;const CX0=-7;const CW=14*CPX;const CH=18*CPX;const creaseGrids=[];for(let p=0;p<panelCenters.length;p++){const g=new Float32Array(CW*CH);const rnd=k=>hash2(p*977+k,31,f.seed);const list=[];const count=24;for(let c=0;c<count;c++){const big=c<6;list.push({x:(rnd(c*7)-.5)*11,y:.8+rnd(c*7+1)*13,ang:(rnd(c*7+2)-.5)*Math.PI*(big?.7:1)+(big?Math.PI/2:0),len:big?3+rnd(c*7+3)*4:.8+rnd(c*7+3)*2.6,bend:(rnd(c*7+4)-.5)*.5,w:big?.25+rnd(c*7+5)*.3:.05+rnd(c*7+5)*.12,a:(rnd(c*7+6)<.62?-1:1)*(big?.02+rnd(c*7+6)*.02:.004+rnd(c*7+6)*.008)});}for(const c of list){const ca=Math.cos(c.ang);const sa=Math.sin(c.ang);const ext=c.len/2+c.w*2;const xa=Math.max(0,Math.floor((c.x-ext-CX0)*CPX));const xb=Math.min(CW-1,Math.ceil((c.x+ext-CX0)*CPX));const ya=Math.max(0,Math.floor((c.y-ext)*CPX));const yb=Math.min(CH-1,Math.ceil((c.y+ext)*CPX));for(let yy=ya;yy<=yb;yy++)for(let xx=xa;xx<=xb;xx++){const lx=xx/CPX+CX0-c.x;const ly=yy/CPX-c.y;const along=lx*ca+ly*sa;let across=-lx*sa+ly*ca;const tt=along/(c.len/2);if(tt<-1||tt>1)continue;across-=c.bend*(1-tt*tt)// gently curved crease\n;const d=Math.abs(across)/c.w;if(d>2.2)continue;// sharp crease line with soft shoulders; fades at both ends\nconst prof=d<1?(1-d)*(1-d)*.8+.2*Math.exp(-d*d):.2*Math.exp(-d*d);g[yy*CW+xx]+=c.a*prof*Math.pow(1-tt*tt,1.5);}}creaseGrids.push(g);}await step();const creaseAt=(p,sx,sy)=>{const gx=(sx-CX0)*CPX;const gy=sy*CPX;if(gx<0||gy<0||gx>=CW-1||gy>=CH-1)return 0;const x0=gx|0;const y0=gy|0;const fx=gx-x0;const fy=gy-y0;const g=creaseGrids[p];const o=y0*CW+x0;return g[o]*(1-fx)*(1-fy)+g[o+1]*fx*(1-fy)+g[o+CW]*(1-fx)*fy+g[o+CW+1]*fx*fy;};const pucker=latticeNoise(f.seed+5);const PITCH=.3// topstitch length ≈ 3 mm (8–9 stitches per inch; photos 03/05 give 2.4–2.9 mm)\n;const DASH=.21;const TH_W=.034// thread half-width\n;const ROW_OFF=.53// rows either side of each seam: measured 4.4–6.0 mm (photos 03/05, unrolled), mean 5.3 mm\n;const RIM_ROW=.45;const eyeR0=EYELET_R0;const eyeR1=.4// outer radius of the satin ring: 27–30 px across on photo 09 → 8–8.9 mm (soft edge)\n;// stitch rows: coverage, twist shading and needle holes of the nearest row land in these per texel\nlet thrC=0;let thS=1;let pitK=0;const stitch=(along,across)=>{const h=stitchRow(along,across,PITCH,DASH,TH_W,.03);if(ST.cov>thrC){thrC=ST.cov;thS=ST.shade;}if(ST.pit>pitK)pitK=ST.pit;return h;};const threadShade=new Uint8Array(W*H);const pitMap=new Uint8Array(W*H);const nearBtn=new Uint8Array(W*H)// contact shadow around the button\n;const holeA=new Uint8Array(W*H)// eyelet holes: 255 = open\n;// per-row constants (the loop below runs over millions of texels: nothing in it allocates or searches)\nconst nPan=panelCenters.length;const nSeam=f.seams.length;const seamRA=new Float32Array(nSeam);const centerRA=new Float32Array(nPan);const seamBack=f.seams.map(s=>Math.abs(Math.abs(s)-Math.PI)<1e-6);// seam rows stop just past the button's edge (0.95 cm radius), measured along each seam's own meridian\nconst seamTopSY=f.seams.map(sp=>{const fp=Math.min(nP-1.000001,Math.max(0,(sp-phi0)/dphi));const i0=fp|0;const a=(nT-1)*nP;return ch.SY[a+i0]+(ch.SY[a+i0+1]-ch.SY[a+i0])*(fp-i0)-(f.buttonR+.14);});const topRow=(nT-1)*nP;const NA=65// back-opening arch, sampled once\n;const archPhi=new Float32Array(NA);const archT=new Float32Array(NA);for(let s=0;s<NA;s++){const[hw,ta]=f.openEdgeAt(s/(NA-1))// spread evenly around the corners\n;archT[s]=ta;archPhi[s]=Math.PI-hw;}const eyes=f.eyelets;const nEye=eyes.length;const emb=f.embroidery;const embOut=new Float32Array(2);const bindPhi=Math.PI-f.openW-.35;const bindT=f.openT+1.49*f.openTPerCm;for(let y=0;y<H;y++){const t=(y+.5)/H;fillRow(t);const w=f.openHalfWidth(t);for(let s=0;s<nSeam;s++)seamRA[s]=lerpRow(rRA,f.seams[s]);for(let p=0;p<nPan;p++)centerRA[p]=lerpRow(rRA,panelCenters[p]);const rowBind=t<bindT;let p=0;for(let x=0;x<W;x++){const phi=phi0+(x+.5)/W*TWO_PI;const k=y*W+x;const fp=Math.min(nP-1.000001,Math.max(0,(phi-phi0)/dphi));const i0=fp|0;const fr=fp-i0;const SY=rSY[i0]+(rSY[i0+1]-rSY[i0])*fr;const RA=rRA[i0]+(rRA[i0+1]-rRA[i0])*fr;SPtex[k]=rSP[i0]+(rSP[i0+1]-rSP[i0])*fr;STtex[k]=rST[i0]+(rST[i0+1]-rST[i0])*fr;Dtex[k]=rD[i0]+(rD[i0+1]-rD[i0])*fr;// panel (φ only grows along the row)\nwhile(p<nPan-1&&phi>f.seams[p+1])p++;// inside the back opening there is no fabric\nif(Math.abs(phi)>Math.PI-w)continue;const sx=RA-centerRA[p];let h=creaseAt(p,sx,SY);thrC=0;thS=1;pitK=0;// distance to the apex along the meridian: the button sits there\nconst dApex=ch.SY[topRow+i0]+(ch.SY[topRow+i0+1]-ch.SY[topRow+i0])*fr-SY;if(dApex<1.2)nearBtn[k]=smoothstep(f.buttonR+.22,f.buttonR-.1,dApex)*255|0;// ── seam topstitching (a row 5.3 mm either side) + pucker\nconst da=RA-seamRA[p]// cm from the left seam\n;const db=seamRA[p+1]-RA// cm to the right seam\n;const nearLeft=da<db;const dSeam=nearLeft?da:db;const seamPhi=nearLeft?f.seams[p]:f.seams[p+1];const isBack=nearLeft?seamBack[p]:seamBack[p+1];const topSYs=nearLeft?seamTopSY[p]:seamTopSY[p+1];const topLimit=SY<topSYs;const bottomOk=isBack?t>f.openT+.25*f.openTPerCm:SY>RIM_ROW+.18;// the seam itself runs from the rim (or the top of the back opening) to the button; its fold and the\n// allowance under it fade in and out smoothly instead of ending in a cut line\nconst seamFade=(isBack?smoothstep(f.openT,f.openT+.37*f.openTPerCm,t):1)*smoothstep(topSYs+1,topSYs+.3,SY);if(dSeam<1.4&&seamFade>0){// the seam line itself: the two panels meet in a tight fold\nh-=.012*seamFade*Math.exp(-((dSeam/.035)**2));// the folded allowance ends just outside the row: a soft step under the fabric\nh+=.006*seamFade*smoothstep(.8,.62,dSeam);// pucker: ripples across the seam band, strongest on the allowance\nconst env=Math.exp(-((dSeam/.8)**2))*(.6+.8*pucker(SY*.8,seamPhi*3));h+=.011*seamFade*env*Math.sin(SY*2*Math.PI/1.25+pucker(SY*.3,seamPhi)*5);// garment-washed: the raised band pales where it rubs, in patches\nconst wr=seamFade*smoothstep(.78,.5,dSeam)*clamp01(.2+1.3*(pucker(SY*1.7+11,seamPhi*5+3)-.35));wear[k]=wr*255|0;// the topstitch rows: a row simply ends at its last stitch\nif(topLimit&&bottomOk)h+=stitch(SY,dSeam-ROW_OFF);}// ── rim row, 4.5 mm above the rim\nif(SY<1.1){h+=stitch(RA,SY-RIM_ROW);// gathered by the sweatband: soft ripples between rim and row\nh+=.008*Math.sin(RA*2*Math.PI/1.7+pucker(RA*.4,3)*6)*smoothstep(.9,.2,SY);}// ── binding topstitch around the back opening, 5.5 mm from the edge\nif(rowBind&&Math.abs(phi)>bindPhi){// distance to the arch (edge at |φ| = π − w(t)), evaluated in cm on a few candidates\n// distance to the arch polyline (segments, in local cm), and the arc length along it\nlet best2=81;let alongArch=0;const sg=phi<0?-1:1;const sp=SPtex[k];const st=STtex[k];let acc=0;for(let s=0;s<NA-1;s++){const ax=(sg*archPhi[s]-phi)*sp;const ay=(archT[s]-t)*st;const bx=(sg*archPhi[s+1]-phi)*sp;const by=(archT[s+1]-t)*st;const vx=bx-ax;const vy=by-ay;const l2=vx*vx+vy*vy||1e-12;const tt=clamp01(-(ax*vx+ay*vy)/l2);const cx=ax+vx*tt;const cy=ay+vy*tt;const d2=cx*cx+cy*cy;const sl=Math.sqrt(l2);if(d2<best2){best2=d2;alongArch=acc+tt*sl;}acc+=sl;}const best=Math.sqrt(best2);// the binding (its own geometry) covers the first BIND_W cm; where its edge sits on the crown the\n// cloth is pressed in a little and shaded\nif(best<BIND_W+.2){const d=best-BIND_W;h-=.012*Math.exp(-((d/.05)**2));const c=Math.exp(-((Math.max(0,d)/.07)**2))*200|0;if(c>nearBtn[k])nearBtn[k]=c;void alongArch;}}// ── embroidered eyelets\nfor(let q=0;q<nEye;q++){const e=eyes[q];if(Math.abs(t-e.t)>.06||Math.abs(phi-e.phi)>.12)continue;const exy=(phi-e.phi)*SPtex[k];const eyy=(t-e.t)*STtex[k];const r=Math.sqrt(exy*exy+eyy*eyy);if(r>eyeR1+.16)continue;// the punched hole goes right through (alpha), with a soft edge for alpha-to-coverage\nholeA[k]=Math.max(holeA[k],smoothstep(eyeR0+.006,eyeR0-.012,r)*255|0);const ang=Math.atan2(eyy,exy);// satin ring: ≈ 40 radial stitches (0.4 mm apart at mid-ring) wrapping over the edge into the hole;\n// each stitch ends at its own radius, so the outline is ragged, not a turned washer\nconst NS=40;const sa=(ang/(2*Math.PI)*NS+NS)%NS;const si=Math.floor(sa);const sf=sa-si;const endR=eyeR1-.05+.07*hash2(si,q,97+e.phi*100|0);if(r<eyeR0){h+=-.03;eyeHole[k]=255;}else if(r<endR){const qq=(r-eyeR0)/(endR-eyeR0);const lump=pucker(ang*5,qq*3+e.phi)-.5;// a round thread across each stitch, a little slack and uneven\nconst across=Math.sin(Math.PI*sf);const st=Math.pow(across,.5)*(.85+.3*hash2(si,3,55));const prof=Math.pow(Math.sin(Math.PI*Math.pow(qq,.6)),.5);h+=(.026+.01*lump)*prof+.012*st*prof;eyeRing[k]=smoothstep(0,.05,qq)*smoothstep(1,.8,qq)*(.55+.45*st)*255|0;thS=.7+.42*st*(.55+.45*prof);}else{// cloth drawn in by the stitches: a shallow dimple around the ring\nconst d=Math.min(1,(r-endR)/.16);h+=-.014*(1-d)*(1-d);}}// ── embroidery: fabric lifted under the stitches, contact shadow around them\nif(emb){emb.sample(phi,t,SY,RA,embOut);const cv=embOut[0];const bl=embOut[1];if(bl>.001){h+=.018*bl;embCov[k]=cv*255|0;embSh[k]=clamp01(bl-cv)*255|0;}}Hf[k]=h;thread[k]=thrC*255|0;threadShade[k]=Math.max(0,Math.min(255,Math.round((thS-.5)*255)));pitMap[k]=pitK*255|0;}if((y&31)===31)await step();}// ── normals from the fine height field\nconst dphiTex=TWO_PI/W;const dtTex=1/H;const normal=new Uint8Array(W*H*4);packNormal(Hf,W,H,(x,y)=>SPtex[y*W+x]*dphiTex,(x,y)=>STtex[y*W+x]*dtTex,true,normal);await step();// ── AO: fine cavities (stitches, creases) + coarse folds from the geometry\nconst Hb=boxBlur(Hf,W,H,Math.max(2,Math.round(W/700)),2,true);await step();const Db=boxBlur(Dtex,W,H,Math.max(3,Math.round(W/160)),2,true);await step();const orm=new Uint8Array(W*H*4);const albedo=new Uint8Array(W*H*4);const base=hexToLinear(f.colors.fabric);const thr=hexToLinear(f.colors.thread);const hole=hexToLinear(f.colors.hole);const eye=hexToLinear(f.colors.eyelet);const mott=latticeNoise(f.seed+9);const mott2=latticeNoise(f.seed+10);// washed dye: soft blotches + streaks along the grain. Low frequency: evaluated on a 4× coarser grid\n// (≥ 6 samples per finest blotch) and interpolated\nconst MW=W>>2;const MH=(H>>2)+1;const mot=new Float32Array(MW*MH);for(let j=0;j<MH;j++)for(let i=0;i<MW;i++){const X=(phi0+(i+.5)/MW*TWO_PI)*9;const Y=(j*4+.5)/H*14;mot[j*MW+i]=.035*(mott(X*.35,Y*.35)-.5)+.025*(mott2(X*1.3,Y*.25)-.5)+.012*(mott(X*3.1,Y*3.1)-.5);}for(let y=0;y<H;y++){const t=(y+.5)/H;const my=y/4;const j0=Math.min(MH-2,my|0);const fy=my-j0;for(let x=0;x<W;x++){const k=y*W+x;const phi=phi0+(x+.5)/W*TWO_PI;const mx=(x+.5)/4-.5;const mxf=Math.floor(mx);const fx=mx-mxf;const i0=(mxf+MW)%MW;const i1=(i0+1)%MW;const mo=(mot[j0*MW+i0]*(1-fx)+mot[j0*MW+i1]*fx)*(1-fy)+(mot[(j0+1)*MW+i0]*(1-fx)+mot[(j0+1)*MW+i1]*fx)*fy;const cav=Hb[k]-Hf[k]// > 0 in dips\n;const fold=Db[k]-Dtex[k]// > 0 in geometric valleys\n;let ao=1-clamp01(cav*22)*.55-clamp01(fold*3.5)*.35-embSh[k]/255*.55-nearBtn[k]/255*.5;if(eyeHole[k])ao=.35;ao=Math.max(.25,ao);// abrasion lightens ridges, dye pools in valleys\nconst X=phi*9;const Y=t*14;let m=1+mo;m*=1+clamp01(-fold*4)*.05+clamp01(-cav*30)*.04-clamp01(fold*4)*.035;m*=1+.09*(wear[k]/255);m*=1-.5*(pitMap[k]/255)// needle holes\n;m*=1-.18*(1-ao)// a touch of cavity into the albedo (AO maps only affect ambient light)\n;let r=base[0]*m;let g=base[1]*m;let bb=base[2]*m;const tk=thread[k]/255;const shd=threadShade[k]/255+.5;if(tk>0){const s=(.95+.1*mott(X*12,Y*12))*shd;r+=(thr[0]*s-r)*tk;g+=(thr[1]*s-g)*tk;bb+=(thr[2]*s-bb)*tk;}const er=eyeRing[k]/255;if(er>0){const s=shd*(.97+.06*mott(X*20,Y*20));r+=(eye[0]*s-r)*er;g+=(eye[1]*s-g)*er;bb+=(eye[2]*s-bb)*er;}if(eyeHole[k]){r=hole[0];g=hole[1];bb=hole[2];}const o=k*4;albedo[o]=enc(r);albedo[o+1]=enc(g);albedo[o+2]=enc(bb);albedo[o+3]=255-holeA[k];const rough=.94-.14*tk-.12*er-.04*clamp01(-fold*4);orm[o]=ao*255|0;orm[o+1]=clamp01(rough)*255|0;// B: where thread covers the twill (stitches, eyelet rings, holes): the shader drops the weave there\norm[o+2]=clamp01(Math.max(tk*1.2,er*1.3,eyeHole[k]/255))*255|0;orm[o+3]=255;}if((y&63)===63)await step();}return{albedo,normal,orm};}/**\n     * The inside face of the crown, in the same (φ, t) chart as the outside: the reverse of the twill (a flatter,\n     * weft-faced surface), the 1.25 cm seam tapes stitched down by the same rows that show outside, the back of\n     * the eyelet rings with their holes, and the darkening of an enclosed space (baked into the albedo).\n     */async function innerMaps(W,H,ch,f,step){const{nP,nT,phi0,dphi}=ch;const TWO_PI=Math.PI*2;const Hf=new Float32Array(W*H);const cover=new Uint8Array(W*H)// 1 = tape, 2 = eyelet ring (no twill on either)\n;const shade=new Uint8Array(W*H).fill(128);const pits=new Uint8Array(W*H);const holes=new Uint8Array(W*H);const threadC=new Uint8Array(W*H);const SPt=new Float32Array(W*H);const STt=new Float32Array(W*H);const rSY=new Float32Array(nP);const rRA=new Float32Array(nP);const rSP=new Float32Array(nP);const rST=new Float32Array(nP);const nSeam=f.seams.length;const seamRA=new Float32Array(nSeam);const seamBack=f.seams.map(sp=>Math.abs(Math.abs(sp)-Math.PI)<1e-6);const topRow=(nT-1)*nP;const TAPE=.625// half width: 1.25 cm tapes, stitched by the rows 5.3 mm either side of the seam\n;const noise=latticeNoise(f.seed+61);for(let y=0;y<H;y++){const t=(y+.5)/H;const ft=Math.min(nT-1.000001,Math.max(0,t/ch.dt));const j0=Math.floor(ft);const kk=ft-j0;for(let i=0;i<nP;i++){const a=j0*nP+i;const b=a+nP;rSY[i]=ch.SY[a]+(ch.SY[b]-ch.SY[a])*kk;rRA[i]=ch.RA[a]+(ch.RA[b]-ch.RA[a])*kk;rSP[i]=ch.SP[a]+(ch.SP[b]-ch.SP[a])*kk;rST[i]=ch.ST[a]+(ch.ST[b]-ch.ST[a])*kk;}for(let q=0;q<nSeam;q++){const fp=Math.min(nP-1.000001,Math.max(0,(f.seams[q]-phi0)/dphi));const i0=fp|0;seamRA[q]=rRA[i0]+(rRA[i0+1]-rRA[i0])*(fp-i0);}const w=f.openHalfWidth(t);let p=0;for(let x=0;x<W;x++){const k=y*W+x;const phi=phi0+(x+.5)/W*TWO_PI;const fp=Math.min(nP-1.000001,Math.max(0,(phi-phi0)/dphi));const i0=fp|0;const fr=fp-i0;const SY=rSY[i0]+(rSY[i0+1]-rSY[i0])*fr;const RA=rRA[i0]+(rRA[i0+1]-rRA[i0])*fr;SPt[k]=rSP[i0]+(rSP[i0+1]-rSP[i0])*fr;STt[k]=rST[i0]+(rST[i0+1]-rST[i0])*fr;while(p<nSeam-2&&phi>f.seams[p+1])p++;if(Math.abs(phi)>Math.PI-w)continue;let h=0;// ── seam tapes (the seam allowance under them makes a soft crown down the middle)\nconst da=RA-seamRA[p];const db=seamRA[p+1]-RA;const near=da<db?p:p+1;const dSeam=da<db?da:db;const dApex=ch.SY[topRow+i0]+(ch.SY[topRow+i0+1]-ch.SY[topRow+i0])*fr-SY;const tapeOk=SY>f.bandTop-.4&&(!seamBack[near]||t>f.openT+.125*f.openTPerCm);if(tapeOk&&dSeam<TAPE+.05){const inTape=smoothstep(TAPE+.02,TAPE-.03,dSeam);h+=inTape*(.018+.012*Math.exp(-((dSeam/.3)**2)));// tape weave: fine rib across the tape, faint\nh+=inTape*.002*Math.cos(2*Math.PI*SY/.06);if(inTape>.5)cover[k]=1;if(dApex>f.buttonR*.4){h+=stitchRow(SY,dSeam-.53,.3,.2,.03,.022)*inTape;if(ST.cov>0){threadC[k]=ST.cov*255|0;shade[k]=Math.max(0,Math.min(255,Math.round((ST.shade-.5)*255)));}pits[k]=ST.pit*255|0;}}// ── the reverse of the eyelets: a lower ring of thread loops around the hole\nfor(let q=0;q<f.eyelets.length;q++){const e=f.eyelets[q];if(Math.abs(t-e.t)>.06||Math.abs(phi-e.phi)>.1)continue;const ex=(phi-e.phi)*SPt[k];const ey=(t-e.t)*STt[k];const r=Math.sqrt(ex*ex+ey*ey);if(r>f.eyeR0+.2)continue;holes[k]=Math.max(holes[k],smoothstep(f.eyeR0+.006,f.eyeR0-.012,r)*255|0);if(r>=f.eyeR0&&r<f.eyeR0+.16){const qq=(r-f.eyeR0)/.16;const ang=Math.atan2(ey,ex);const st=.5+.5*Math.sin(ang*26+2*noise(ang*3,e.phi*9));h+=.02*Math.pow(Math.sin(Math.PI*Math.pow(qq,.8)),.7)*(.8+.2*st);cover[k]=2;shade[k]=Math.round((.35+.35*st)*255);}}Hf[k]=h;}if((y&63)===63)await step();}const normal=new Uint8Array(W*H*4);packNormal(Hf,W,H,(x,y)=>SPt[y*W+x]*(TWO_PI/W),(x,y)=>STt[y*W+x]/H,true,normal);await step();const Hb=boxBlur(Hf,W,H,Math.max(2,Math.round(W/500)),2,true);await step();const base=hexToLinear(f.colors.fabric);const tape=hexToLinear(f.colors.tape);const thr=hexToLinear(f.colors.thread);const eye=hexToLinear(f.colors.eyelet);const albedo=new Uint8Array(W*H*4);const orm=new Uint8Array(W*H*4);for(let y=0;y<H;y++){const t=(y+.5)/H;for(let x=0;x<W;x++){const k=y*W+x;const phi=phi0+(x+.5)/W*TWO_PI;const vis=f.ao(phi,t);const cav=Hb[k]-Hf[k];const occ=Math.max(.35,1-clamp01(cav*25)*.6);// an enclosed space: little of the room's light reaches in (baked, the renderer has no such term)\nconst dark=(.3+.7*vis)*occ;const n=1+.04*(noise(phi*30,t*40)-.5);let c=base;let m=n;if(cover[k]===1){c=tape;m=n*(1-.45*(pits[k]/255));}else if(cover[k]===2){c=eye;m=.8+.4*(shade[k]/255);}else m=n*(1-.45*(pits[k]/255));let r=c[0]*m;let g=c[1]*m;let b=c[2]*m;const tc=threadC[k]/255;if(tc>0){const sh=shade[k]/255+.5;r+=(thr[0]*sh-r)*tc;g+=(thr[1]*sh-g)*tc;b+=(thr[2]*sh-b)*tc;}const o=k*4;albedo[o]=enc(r*dark);albedo[o+1]=enc(g*dark);albedo[o+2]=enc(b*dark);albedo[o+3]=255-holes[k];orm[o]=255;orm[o+1]=clamp01(.95-.12*tc-(cover[k]===1?.08:0))*255|0;orm[o+2]=cover[k]||tc>.3?255:0;orm[o+3]=255;}if((y&63)===63)await step();}return{albedo,normal,orm};}/**\n     * A folded, edge-stitched strip (strap, sweatband): one tile along the strip (a whole number of stitches long)\n     * by its full width. u runs along the strip, v across it (row 0 = v = 0). Rows at the given distances (cm) from\n     * the v = 0 edge; folded edges roll away and pale a little where they rub.\n     */async function tapeMaps(L,Wd,ppc,rows,folds,colors,seed,step){const W=Math.max(8,Math.round(L*ppc));const H=Math.max(8,Math.round(Wd*ppc));const Hf=new Float32Array(W*H);const cov=new Uint8Array(W*H);const shd=new Uint8Array(W*H).fill(128);const pit=new Uint8Array(W*H);const edge=new Float32Array(W*H);// tileable along the strip (the map repeats every L cm)\nconst noise=tileNoise2(24,Math.max(1,Math.round(6*Wd)),seed);const fibre=tileNoise2(60,8,seed+1);const pw=Math.round(L/.3)// stitches per tile: the pitch is adjusted so the tile repeats seamlessly\n;const pitch=L/pw;for(let y=0;y<H;y++){const v=(y+.5)/H*Wd;for(let x=0;x<W;x++){const u=(x+.5)/W*L;const k=y*W+x;let h=0;// folded edges: the strip rounds over within ~1.5 mm of each fold\nconst dl=folds.lo?v:9;const dh=folds.hi?Wd-v:9;const de=Math.min(dl,dh);if(de<.16){const q=1-de/.16;h-=.05*q*q;edge[k]=q;}// folds inside the strip (a binding wrapped over an edge): the geometry turns there, the texture only\n// pales where the fold rubs, with a few loose fibres\nif(folds.at)for(const fa of folds.at){const d=Math.abs(v-fa);if(d<.2)edge[k]=Math.max(edge[k],(1-d/.2)*(.7+.6*(fibre(u/L,fa*7/8)-.5)));}// stitched by the rows; the fabric puckers faintly between stitches\nlet best=0;for(let r=0;r<rows.length;r++){const a=v-rows[r];if(a>.12||a<-.12)continue;h+=stitchRow(u,a,pitch,pitch*.7,.032,.026);if(ST.cov>best){best=ST.cov;shd[k]=Math.max(0,Math.min(255,Math.round((ST.shade-.5)*255)));}if(ST.pit>0)pit[k]=Math.max(pit[k],ST.pit*255|0);}cov[k]=best*255|0;h+=.004*(noise(u/L,v/Wd)-.5);Hf[k]=h;}}await step();const normal=new Uint8Array(W*H*4);packNormal(Hf,W,H,()=>L/W,()=>Wd/H,true,normal);const Hb=boxBlur(Hf,W,H,2,2,true);const base=hexToLinear(colors.fabric);const thr=hexToLinear(colors.thread);const albedo=new Uint8Array(W*H*4);const orm=new Uint8Array(W*H*4);for(let k=0;k<W*H;k++){const cav=Hb[k]-Hf[k];const ao=Math.max(.35,1-clamp01(cav*22)*.6);const m=(1+.07*edge[k])*(1-.45*(pit[k]/255))*(1-.15*(1-ao));const tk=cov[k]/255;const sh=shd[k]/255+.5;const o=k*4;albedo[o]=enc(base[0]*m+(thr[0]*sh-base[0]*m)*tk);albedo[o+1]=enc(base[1]*m+(thr[1]*sh-base[1]*m)*tk);albedo[o+2]=enc(base[2]*m+(thr[2]*sh-base[2]*m)*tk);albedo[o+3]=255;orm[o]=ao*255|0;orm[o+1]=clamp01(.94-.14*tk)*255|0;orm[o+2]=clamp01(tk*1.2)*255|0;orm[o+3]=255;}return{albedo,normal,orm,W,H};}async function brimMaps(W,H,b,step){const Hf=new Float32Array(W*H);const thread=new Uint8Array(W*H);const ROWS=8;const R0=.55;const RS=.52;const PITCH=.34// ≈ 3.3 mm per stitch along the rows (photo 05, unrolled bill)\n;const DASH=.23;const TH_W=.034;const nz=latticeNoise(b.seed+21);// crinkles on the bill (fewer: it has a stiff insert)\nconst cr=[];for(let c=0;c<14;c++){const ang=(hash2(c,3,b.seed)-.5)*2.4;const len=.8+hash2(c,4,b.seed)*2.2;const w=.05+hash2(c,5,b.seed)*.12;cr.push({x:(hash2(c,1,b.seed)-.5)*16,y:.4+hash2(c,2,b.seed)*6,ca:Math.cos(ang),sa:Math.sin(ang),hl:len/2,w,a:(hash2(c,6,b.seed)-.6)*.012,ext:len/2+2*w});}// per-column tables: bill length, metric along ψ at a few w\nconst Lcol=new Float32Array(W);const NWS=17;const dAl=new Float32Array(NWS*W);for(let x=0;x<W;x++){const psi=-1+(x+.5)/W*2;Lcol[x]=b.len(psi);for(let s=0;s<NWS;s++)dAl[s*W+x]=b.dAlong(psi,s/(NWS-1));}// The rows are sewn at a constant distance from the edge, measured square to it (not along the bill's\n// ψ lines, which meet the edge obliquely towards the sides and would squeeze the rows together there).\n// Edge polyline, then a coarse field of (true distance to the edge, ψ of the nearest edge point).\nconst NE=1025;const edge=new Float32Array(NE*3);for(let k=0;k<NE;k++){const q=b.point(-1+2*k/(NE-1),1);edge[k*3]=q[0];edge[k*3+1]=q[1];edge[k*3+2]=q[2];}const GW=513;const GH=97;const gD=new Float32Array(GW*GH);const gS=new Float32Array(GW*GH);const d2e=(qx,qy,qz,k)=>{const ex=qx-edge[k*3];const ey=qy-edge[k*3+1];const ez=qz-edge[k*3+2];return ex*ex+ey*ey+ez*ez;};for(let gy=0;gy<GH;gy++){const w=gy/(GH-1);for(let gx=0;gx<GW;gx++){const psi=-1+2*gx/(GW-1);const[qx,qy,qz]=b.point(psi,w);let kb=0;let best=1e9;for(let k=0;k<NE;k+=16){const d=d2e(qx,qy,qz,k);if(d<best){best=d;kb=k;}}for(let k=Math.max(0,kb-16);k<=Math.min(NE-1,kb+16);k++){const d=d2e(qx,qy,qz,k);if(d<best){best=d;kb=k;}}// refine on the neighbouring segments\nlet bestD=Math.sqrt(best);let bestS=kb;for(const k0 of[kb-1,kb]){if(k0<0||k0>=NE-1)continue;const ax=edge[k0*3];const ay=edge[k0*3+1];const az=edge[k0*3+2];const sx=edge[k0*3+3]-ax;const sy=edge[k0*3+4]-ay;const sz=edge[k0*3+5]-az;const l2=sx*sx+sy*sy+sz*sz||1e-12;const tt=clamp01(((qx-ax)*sx+(qy-ay)*sy+(qz-az)*sz)/l2);const dx=qx-ax-sx*tt;const dy=qy-ay-sy*tt;const dz=qz-az-sz*tt;const d=Math.sqrt(dx*dx+dy*dy+dz*dz);if(d<bestD){bestD=d;bestS=k0+tt;}}gD[gy*GW+gx]=bestD;gS[gy*GW+gx]=-1+2*bestS/(NE-1);}}await step();// arc length along each row as a function of the nearest edge point: the edge offset inwards by the row's\n// distance, in the bill's surface\nconst arcRow=new Float32Array(ROWS*NE);{const inward=new Float32Array(NE*3);for(let k=0;k<NE;k++){const psi=-1+2*k/(NE-1);const L=b.len(psi);const q=b.point(psi,L>.6?1-.5/L:0);const km=Math.max(0,k-1);const kp=Math.min(NE-1,k+1);let tx=edge[kp*3]-edge[km*3];let ty=edge[kp*3+1]-edge[km*3+1];let tz=edge[kp*3+2]-edge[km*3+2];const tl=Math.hypot(tx,ty,tz)||1;tx/=tl;ty/=tl;tz/=tl;let ix=q[0]-edge[k*3];let iy=q[1]-edge[k*3+1];let iz=q[2]-edge[k*3+2];const dt=ix*tx+iy*ty+iz*tz;ix-=dt*tx;iy-=dt*ty;iz-=dt*tz;const il=Math.hypot(ix,iy,iz)||1;inward[k*3]=ix/il;inward[k*3+1]=iy/il;inward[k*3+2]=iz/il;}for(let r=0;r<ROWS;r++){const dr=R0+r*RS;let px=0;let py=0;let pz=0;let acc=0;for(let k=0;k<NE;k++){const ox=edge[k*3]+inward[k*3]*dr;const oy=edge[k*3+1]+inward[k*3+1]*dr;const oz=edge[k*3+2]+inward[k*3+2]*dr;if(k>0)acc+=Math.hypot(ox-px,oy-py,oz-pz);arcRow[r*NE+k]=acc;px=ox;py=oy;pz=oz;}}}const gridAt=(g,psi,w)=>{const fx=Math.min(GW-1.000001,Math.max(0,(psi+1)/2*(GW-1)));const fy=Math.min(GH-1.000001,Math.max(0,w*(GH-1)));const x0=fx|0;const y0=fy|0;const ax=fx-x0;const ay=fy-y0;const o=y0*GW+x0;return(g[o]*(1-ax)+g[o+1]*ax)*(1-ay)+(g[o+GW]*(1-ax)+g[o+GW+1]*ax)*ay;};const arcAt=(r,psiE)=>{const f=Math.min(NE-1.000001,Math.max(0,(psiE+1)/2*(NE-1)));const i=f|0;return arcRow[r*NE+i]+(arcRow[r*NE+i+1]-arcRow[r*NE+i])*(f-i);};const dPerpTex=new Float32Array(W*H);const bShade=new Uint8Array(W*H).fill(128);const bPit=new Uint8Array(W*H);await step();for(let y=0;y<H;y++){const w=(y+.5)/H;for(let x=0;x<W;x++){const psi=-1+(x+.5)/W*2;const L=Lcol[x];const k=y*W+x;if(L<.05)continue;const dEdge=(1-w)*L;const dP=gridAt(gD,psi,w)// square to the edge\n;dPerpTex[k]=dP;let h=0;let tcov=0;// quilted rows (only the nearest can be within reach: rows are 5.2 mm apart)\nconst rN=Math.round((dP-R0)/RS);if(rN>=0&&rN<ROWS){const r=rN;const dr=R0+r*RS;const across=dP-dr;if(Math.abs(across)<=.11){const along=arcAt(r,gridAt(gS,psi,w));h+=stitchRow(along,across,PITCH,DASH,TH_W,.028);tcov=ST.cov;bShade[k]=Math.max(0,Math.min(255,Math.round((ST.shade-.5)*255)));bPit[k]=ST.pit*255|0;}}// fabric puffs a little between the rows (the stiff insert keeps it shallow)\nconst zone=(dP-R0)/RS;if(zone>0&&zone<ROWS-1){const fr=zone-Math.floor(zone);h+=.012*Math.pow(Math.sin(Math.PI*fr),.8)*(.8+.4*nz(psi*20,zone));}else if(zone<=0)h+=.012*Math.pow(Math.sin(Math.PI*clamp01(dP/R0)),.8);// crinkles\nconst px=psi*9.5;for(let q=0;q<cr.length;q++){const c=cr[q];const lx=px-c.x;const ly=dEdge-c.y;if(lx>c.ext||lx<-c.ext||ly>c.ext||ly<-c.ext)continue;const al=(lx*c.ca+ly*c.sa)/c.hl;if(al<-1||al>1)continue;const ac=Math.abs(-lx*c.sa+ly*c.ca)/c.w;if(ac>2)continue;h+=c.a*(ac<1?(1-ac)*(1-ac):0)*(1-al*al);}Hf[k]=h;thread[k]=tcov*255|0;}if((y&31)===31)await step();}const normal=new Uint8Array(W*H*4);const dAlongAt=(x,y)=>{const fs=(y+.5)/H*(NWS-1);const s0=Math.min(NWS-2,fs|0);const f=fs-s0;return(dAl[s0*W+x]*(1-f)+dAl[(s0+1)*W+x]*f)*(2/W);};const dAc=new Float32Array(W);for(let x=0;x<W;x++)dAc[x]=b.dAcross(-1+(x+.5)/W*2)/H;packNormal(Hf,W,H,dAlongAt,x=>dAc[x],false,normal);await step();const Hb=boxBlur(Hf,W,H,Math.max(2,Math.round(W/500)),2);await step();const base=hexToLinear(b.colors.fabric);const thr=hexToLinear(b.colors.thread);const albedo=new Uint8Array(W*H*4);const orm=new Uint8Array(W*H*4);const mott=latticeNoise(b.seed+30);for(let y=0;y<H;y++){const w=(y+.5)/H;for(let x=0;x<W;x++){const psi=-1+(x+.5)/W*2;const k=y*W+x;const dEdge=dPerpTex[k];const cav=Hb[k]-Hf[k];const ao=Math.max(.3,1-clamp01(cav*22)*.55);let m=1+.035*(mott(psi*4,w*2)-.5)+.015*(mott(psi*30,w*12)-.5);m*=1+.14*smoothstep(.5,0,dEdge)// worn, lighter edge\n;m*=1+clamp01(-cav*30)*.05;m*=1-.18*(1-ao);const tk=thread[k]/255;const shd=bShade[k]/255+.5;m*=1-.5*(bPit[k]/255)// needle holes\n;const o=k*4;albedo[o]=enc(base[0]*m+(thr[0]*shd-base[0]*m)*tk);albedo[o+1]=enc(base[1]*m+(thr[1]*shd-base[1]*m)*tk);albedo[o+2]=enc(base[2]*m+(thr[2]*shd-base[2]*m)*tk);albedo[o+3]=255;orm[o]=ao*255|0;orm[o+1]=clamp01(.94-.1*tk-.05*smoothstep(.3,0,dEdge))*255|0;orm[o+2]=clamp01(tk*1.2)*255|0// thread over the twill: no weave there\n;orm[o+3]=255;}if((y&63)===63)await step();}return{albedo,normal,orm};}// ─────────────────────────── embroidery ───────────────────────────\n/** Exact Euclidean distance transform (Felzenszwalb) of a binary mask: distance to the nearest outside pixel. */function edt(inside,W,H){const INF=1e20;const f=new Float32Array(Math.max(W,H));const d=new Float32Array(Math.max(W,H));const v=new Int32Array(Math.max(W,H));const z=new Float32Array(Math.max(W,H)+1);const g=new Float32Array(W*H);const dt1=n=>{let k=0;v[0]=0;z[0]=-INF;z[1]=INF;for(let q=1;q<n;q++){let s=(f[q]+q*q-(f[v[k]]+v[k]*v[k]))/(2*q-2*v[k]);while(s<=z[k]){k--;s=(f[q]+q*q-(f[v[k]]+v[k]*v[k]))/(2*q-2*v[k]);}k++;v[k]=q;z[k]=s;z[k+1]=INF;}k=0;for(let q=0;q<n;q++){while(z[k+1]<q)k++;d[q]=(q-v[k])*(q-v[k])+f[v[k]];}};for(let x=0;x<W;x++){for(let y=0;y<H;y++)f[y]=inside[y*W+x]?INF:0;dt1(H);for(let y=0;y<H;y++)g[y*W+x]=d[y];}for(let y=0;y<H;y++){for(let x=0;x<W;x++)f[x]=g[y*W+x];dt1(W);for(let x=0;x<W;x++)g[y*W+x]=Math.sqrt(d[x]);}return g;}/**\n     * Satin-stitch embroidery from a coverage mask (0..1, row 0 = bottom). Returns RGBA colour (alpha = coverage),\n     * a normal map, an anisotropy map (stitch direction in tangent space + strength) and the coverage itself.\n     */async function satinMaps(cov,W,H,ppc,color,seed,step){const inside=new Uint8Array(W*H);for(let i=0;i<W*H;i++)inside[i]=cov[i]>.5?1:0;const dt=edt(inside,W,H)// px\n;await step();// structure tensor of the distance gradient → stitch direction runs across each stroke\nconst jxx=new Float32Array(W*H);const jxy=new Float32Array(W*H);const jyy=new Float32Array(W*H);for(let y=1;y<H-1;y++)for(let x=1;x<W-1;x++){const k=y*W+x;if(!inside[k]&&cov[k]<.02)continue;const gx=(dt[k+1]-dt[k-1])*.5;const gy=(dt[k+W]-dt[k-W])*.5;jxx[k]=gx*gx;jxy[k]=gx*gy;jyy[k]=gy*gy;}const r=Math.max(2,Math.round(ppc*.03));const Jxx=boxBlur(jxx,W,H,r,2);const Jxy=boxBlur(jxy,W,H,r,2);const Jyy=boxBlur(jyy,W,H,r,2);await step();const dx=new Float32Array(W*H);const dy=new Float32Array(W*H);// satin columns are digitised with slanted stitches (the hatching on photo 05 leans ≈ 25° off square)\nconst SLANT=25*Math.PI/180;for(let k=0;k<W*H;k++){const th=.5*Math.atan2(2*Jxy[k],Jxx[k]-Jyy[k])+SLANT;dx[k]=Math.cos(th);dy[k]=Math.sin(th);}// thread strands: line integral convolution of noise along the stitch direction\nconst noise=new Float32Array(W*H);const threadPx=Math.max(1,ppc*.04)// ~0.4 mm threads\n;for(let y=0;y<H;y++)for(let x=0;x<W;x++){// noise that is coherent along the threads (elongated cells) is produced by the LIC itself\nnoise[y*W+x]=hash2(Math.floor(x/Math.max(1,threadPx*.6)),Math.floor(y/Math.max(1,threadPx*.6)),seed)*.6+hash2(x,y,seed+1)*.4;}const lic=new Float32Array(W*H);const L=Math.max(4,Math.round(ppc*.12));for(let y=0;y<H;y++){for(let x=0;x<W;x++){const k=y*W+x;if(cov[k]<.02)continue;let acc=noise[k];let n=1;for(const sgn of[1,-1]){let px=x+.5;let py=y+.5;let pdx=dx[k]*sgn;let pdy=dy[k]*sgn;for(let s=0;s<L;s++){const ix=px|0;const iy=py|0;if(ix<0||iy<0||ix>=W||iy>=H)break;const kk=iy*W+ix;if(cov[kk]<.02)break;let ddx=dx[kk];let ddy=dy[kk];// the field is sign-free (an orientation): keep following the streamline the same way\nif(ddx*pdx+ddy*pdy<0){ddx=-ddx;ddy=-ddy;}pdx=ddx;pdy=ddy;px+=ddx;py+=ddy;const jx=px|0;const jy=py|0;if(jx<0||jy<0||jx>=W||jy>=H)break;acc+=noise[jy*W+jx];n++;}}lic[k]=acc/n;}if((y&63)===63)await step();}// contrast-stretch the strands\nlet mean=0;let cnt=0;for(let k=0;k<W*H;k++)if(cov[k]>.5){mean+=lic[k];cnt++;}mean/=Math.max(1,cnt);let vr=0;for(let k=0;k<W*H;k++)if(cov[k]>.5)vr+=(lic[k]-mean)**2;const sd=Math.sqrt(vr/Math.max(1,cnt))||1;const Hf=new Float32Array(W*H);const strand=new Float32Array(W*H);const thr=new Float32Array(W*H);// individual threads laid side by side: a phase that advances along the stroke (across the stitch direction),\n// 0.4 mm per thread. Position · (unit vector along the stroke) is a local stroke coordinate; cos() makes it\n// indifferent to the sign ambiguity of the direction field.\nconst pitchPx=ppc*.06// visible stitch pitch (0.6 mm: the hatching period on photo 05)\n;for(let y=0;y<H;y++)for(let x=0;x<W;x++){const k=y*W+x;if(cov[k]<.02)continue;const s=Math.max(-2,Math.min(2,(lic[k]-mean)/sd));strand[k]=s;const along=x*-dy[k]+y*dx[k];const ph=Math.cos(2*Math.PI*along/pitchPx+s*.6);const t=Math.pow(.5+.5*ph,.6)// rounded thread, narrow gap between threads\n;thr[k]=t;const dcm=dt[k]/ppc;// satin dome over the stroke width (~0.5 mm high), threads and their gaps on top\nHf[k]=cov[k]*(.05*smoothstep(0,.07,dcm)+.018*t+.005*s);}await step();const normal=new Uint8Array(W*H*4);const texel=1/ppc;packNormal(Hf,W,H,()=>texel,()=>texel,false,normal,1);const rgba=new Uint8Array(W*H*4);const aniso=new Uint8Array(W*H*4);const c=hexToLinear(color);for(let k=0;k<W*H;k++){const o=k*4;const dcm=dt[k]/ppc;// thread colour: darker where the thread dives into the fabric (the letter outline), in the gaps between\n// threads, and a little from thread to thread\nconst edge=.5+.5*smoothstep(.005,.06,dcm);const m=edge*(.72+.36*thr[k])*(1+.1*strand[k]);rgba[o]=enc(c[0]*m);rgba[o+1]=enc(c[1]*m);rgba[o+2]=enc(c[2]*m);// the outline is where each stitch pierces the cap: a faint sawtooth, not a cut edge\nconst saw=dcm<.025?.8+.2*thr[k]:1;rgba[o+3]=Math.round(clamp01(cov[k]*saw)*255);// anisotropy: highlight stretched across the threads (direction = thread direction)\naniso[o]=Math.round((dx[k]*.5+.5)*255);aniso[o+1]=Math.round((dy[k]*.5+.5)*255);aniso[o+2]=Math.round(smoothstep(.01,.04,dcm)*255);aniso[o+3]=255;if(cov[k]<.02){normal[o]=128;normal[o+1]=128;normal[o+2]=255;}}return{rgba,normal,aniso};}// ─────────────────────────── studio environment ───────────────────────────\n/**\n     * Equirect HDR studio (half floats, RGBA): a large soft key from the upper left front, a broad fill from\n     * the right, two strip lights behind, a bright ceiling and a warm grey floor. Returns Uint16 half-float data.\n     */function studioHDR(W,H,toHalf){const data=new Uint16Array(W*H*4);const norm=v=>{const l=Math.hypot(v[0],v[1],v[2]);return[v[0]/l,v[1]/l,v[2]/l];};const boxes=[{dir:norm([-.62,.58,.53]),w:.42,h:.3,e:9,c:[1,.985,.965]},{dir:norm([.85,.2,.48]),w:.5,h:.42,e:1.9,c:[.97,.98,1]},{dir:norm([.55,.35,-.76]),w:.12,h:.55,e:6,c:[1,1,1]},{dir:norm([-.6,.3,-.74]),w:.12,h:.5,e:3.5,c:[1,1,1]},{dir:norm([0,1,.08]),w:.6,h:.6,e:2.2,c:[1,1,1]}];for(let y=0;y<H;y++){const v=(y+.5)/H;const el=(v-.5)*Math.PI// −π/2 (down) … π/2 (up)\n;const cy=Math.sin(el);const ce=Math.cos(el);for(let x=0;x<W;x++){const u=(x+.5)/W;const az=(u-.5)*2*Math.PI// matches three's equirectUv: u = atan(z, x)/2π + 0.5\n;const dir=[ce*Math.cos(az),cy,ce*Math.sin(az)];// room: warm grey floor, neutral walls, brighter ceiling\nlet r=.36;let g=.35;let b=.34;if(cy<0){const k=Math.min(1,-cy*3);r=.36*(1-k)+.3*k;g=.35*(1-k)+.28*k;b=.34*(1-k)+.25*k;}else{r+=cy*.35;g+=cy*.35;b+=cy*.36;}for(const bx of boxes){const d=dir[0]*bx.dir[0]+dir[1]*bx.dir[1]+dir[2]*bx.dir[2];if(d<=0)continue;// local tangent axes of the box\nconst up=Math.abs(bx.dir[1])>.95?[0,0,1]:[0,1,0];let tx=[up[1]*bx.dir[2]-up[2]*bx.dir[1],up[2]*bx.dir[0]-up[0]*bx.dir[2],up[0]*bx.dir[1]-up[1]*bx.dir[0]];const tl=Math.hypot(tx[0],tx[1],tx[2]);tx=[tx[0]/tl,tx[1]/tl,tx[2]/tl];const ty=[bx.dir[1]*tx[2]-bx.dir[2]*tx[1],bx.dir[2]*tx[0]-bx.dir[0]*tx[2],bx.dir[0]*tx[1]-bx.dir[1]*tx[0]];const px=(dir[0]*tx[0]+dir[1]*tx[1]+dir[2]*tx[2])/d;const py=(dir[0]*ty[0]+dir[1]*ty[1]+dir[2]*ty[2])/d;// soft-edged rectangle with a gentle falloff to its border (diffuser)\nconst fx=smoothstep(bx.w,bx.w*.7,Math.abs(px));const fy=smoothstep(bx.h,bx.h*.7,Math.abs(py));const k=fx*fy;if(k>0){const e=bx.e*k*(.85+.15*(1-Math.abs(px)/bx.w));r+=e*bx.c[0];g+=e*bx.c[1];b+=e*bx.c[2];}}const o=(y*W+x)*4;data[o]=toHalf(r);data[o+1]=toHalf(g);data[o+2]=toHalf(b);data[o+3]=toHalf(1);}}return data;}const DEG=Math.PI/180;const CAP_SPEC={// structure: joint fit of this shape + one camera per photo on 54 photos of the cap resting on a table (set 3,\n// fit3/fit.ts): silhouettes, embroidery, hand-marked button and eyelets, and in the 11 back views the two back\n// eyelets, the top of the opening and the opening's outline (fit3/back_manual.json, hole_pts.json); the text keeps\n// its measured size in cm. The back side-seams sit at ±115° (checked by eye against the projected seam in side,\n// top and back views), turned with the back eyelets by backRot (the real cap is not mirror-symmetric there)\nrx:8.6694,rz:8.8408,H:9.1355,za:.6201,// the side URL is placed from this azimuth (x0 cm towards the front); it used to be the back side-seam, which the\n// later fit moved, so it is pinned here to keep the URL where the photos put it\nsideAnchor:-130.59*DEG,xa:0,nFront:3.0837,nBack:2.3039,nSide:.042,nSkew:.3945,rimC1:.057,rimC3:-.0132,bellyF:.0148,bellyB:.1566,bellyS:-.1667,seams:[-180,-120.43,-62,0,62,109.57,180].map(d=>d*DEG),eyelets:[-148.7,-83.6,-29.6,29.6,83.6,137.8],bulge:.14,groove:.04,grooveW:.05,ridge:.055,ridgeOff:.5,ridgeW:.22,// back opening, in cm: half-width along the rim, height above the rim at the back seam, and the two top corners\n// as elliptical quadrants (horizontal / vertical radius) between straight sides and the top. Fitted to the\n// opening's outline in the 11 back views: the top is a low arch (it only looks flat in the photos because a\n// level edge round the back of the crown would bow down towards the camera)\nopenWc:3.474,openHc:5.101,openRc:3.474,openRh:1.945,openW:0,openT:0,eyeletT:.499,// covered button, measured: 51–53 px across on photo 09 where the twill (0.85 mm per wale) gives 33.8 px/cm\n// → 1.54 cm; on photo 05 its silhouette over the crown matches the fitted camera at 1.54 × 0.68 cm\nbuttonR:.77,buttonH:.68,folds:1,tWarp:1,// brim\nbrimPhi:62.54*DEG,brimL:7.3587,brimP:6.154,brimFwd:.9188,brimPitch:-7.57*DEG,brimBend:5.04,brimArch:.00151,brimT:.1893,// strap\nstrapH:1.23,buckleAt:0,// framing\npivotZ:3.2,pivotY:3.4,elev:.27,dist:80};const S=CAP_SPEC;// ── crown ──\n/** Rim outline (y = 0) at parameter φ: an ellipse with egg and three-lobe corrections. */function rimXZ(phi){const e=1+S.rimC1*Math.cos(phi)+S.rimC3*Math.cos(3*phi);return[S.rx*Math.sin(phi)*e,S.rz*Math.cos(phi)*e];}/** Blend of a front / back / side value around the crown (smooth in φ, mirror-symmetric). */function fbs(front,back,side,phi){return back+(front-back)*(.5+.5*Math.cos(phi))+side*(.5-.5*Math.cos(2*phi));}/**\n     * Meridian angle for the parameter t. With steep walls (nSkew > 0) the height rises like θ^(2/n_v) at the rim, so\n     * an even step in θ would leave the first rows centimetres apart; θ = (π/2)·t^(n_v/2) makes the height grow about\n     * linearly from the rim instead, so even steps in t stay even on the cloth (rows, texels, chart cells).\n     */function warpPow(phi){const nv=fbs(S.nFront,S.nBack,S.nSide,phi)*(1+S.nSkew);return Math.min(2.2,Math.max(.8,nv/2));}function meridianTheta(phi,t){const tc=Math.min(1,Math.max(0,t));if(!S.tWarp)return tc*Math.PI/2;return Math.pow(tc,warpPow(phi))*Math.PI/2;}/** The eyelets' height was fitted in the plain parameter (fit3): the same points in the even one, per azimuth. */function eyeletTAt(phiDeg){return S.tWarp?Math.pow(S.eyeletT,1/warpPow(phiDeg*DEG)):S.eyeletT;}/** t per cm along the back meridian at the top of the opening (t offsets around the opening are set in cm). */let openCache={key:\"\",v:0};function openTPerCm(){const key=[S.openT,S.H,S.nBack,S.nSide,S.nSkew,S.rz,S.za,S.xa,S.bellyB,S.rimC1,S.rimC3,S.tWarp].join(\"|\");if(openCache.key!==key){const a=crownBase(Math.PI,S.openT-.01);const b=crownBase(Math.PI,S.openT+.01);openCache={key,v:.02/Math.hypot(b[0]-a[0],b[1]-a[1],b[2]-a[2])};}return openCache.v;}function crownBase(phi,t){// meridian: a superellipse from the rim to the button, with its own fullness per azimuth; nSkew splits the\n// exponent between the horizontal and vertical parts (wall steepness vs roundness of the top)\nconst n=fbs(S.nFront,S.nBack,S.nSide,phi);const th=meridianTheta(phi,t);const h=Math.pow(Math.cos(th),2/(n*(1-S.nSkew)));const v=Math.pow(Math.sin(th),2/(n*(1+S.nSkew)));const belly=1+fbs(S.bellyF,S.bellyB,S.bellyS,phi)*4*v*(1-v);const[rxp,rzp]=rimXZ(phi);return[h*belly*rxp+(1-h)*S.xa,v*S.H,h*belly*rzp+(1-h)*S.za];}/** Outward normal of the undisplaced dome + |∂P/∂φ| (cm per radian). */function crownFrame(phi,t){if(t>.997)return{n:[0,1,0],sphi:0};const e=1e-4;const a=crownBase(phi-e,t);const b=crownBase(phi+e,t);const c=crownBase(phi,Math.max(0,t-e));const d=crownBase(phi,t+e);const dp=[b[0]-a[0],b[1]-a[1],b[2]-a[2]];const dt=[d[0]-c[0],d[1]-c[1],d[2]-c[2]];const n=[dp[1]*dt[2]-dp[2]*dt[1],dp[2]*dt[0]-dp[0]*dt[2],dp[0]*dt[1]-dp[1]*dt[0]];const l=Math.hypot(n[0],n[1],n[2])||1;return{n:[n[0]/l,n[1]/l,n[2]/l],sphi:Math.hypot(dp[0],dp[1],dp[2])/(2*e)};}const smooth=(a,b,x)=>{const k=Math.min(1,Math.max(0,(x-a)/(b-a)));return k*k*(3-2*k);};/** t on the meridian φ at height y above the rim (bisection on the undisplaced crown). */function tAtHeight(phi,y){let lo=0;let hi=1;for(let it=0;it<40;it++){const m=(lo+hi)/2;if(crownBase(phi,m)[1]<y)lo=m;else hi=m;}return(lo+hi)/2;}/** t on the back meridian (φ = π) at height y above the rim. */function tAtBackHeight(y){return tAtHeight(Math.PI,y);}/** A point lying on the cloth at (φ, height y), `o` cm off it along the surface normal. The wall bulges out just\n     * above the rim, so anything that rides on it (strap, tab, slide) has to follow it, not stand on the rim line. */function onWall(phi,y,o){return crownPoint(phi,tAtHeight(phi,y),o,false);}/** cm of the horizontal section per radian of φ at the back meridian, at t. */function backSphi(t){const e=1e-4;const a=crownBase(Math.PI-e,t);const b=crownBase(Math.PI+e,t);return Math.max(.5,Math.hypot(b[0]-a[0],b[1]-a[1],b[2]-a[2])/(2*e));}/** Derived opening angles from the rounded rectangle in cm (call after any shape change). */function setOpening(){S.openRc=Math.max(.05,Math.min(S.openRc,S.openWc));S.openRh=Math.max(.05,Math.min(S.openRh,S.openHc-.05));S.openT=tAtBackHeight(S.openHc);S.openW=S.openWc/backSphi(0);S.buckleAt=-Math.PI+S.openW+3.5*DEG;ohwT=NaN;}/** Half-width in cm of the opening at height y (0 above the top edge). */function openWcmAt(y){if(y>=S.openHc)return 0;const yc=S.openHc-S.openRh;if(y<=yc)return S.openWc;const v=(y-yc)/S.openRh;return S.openWc-S.openRc+S.openRc*Math.sqrt(Math.max(0,1-v*v));}/** The opening's half-angle at t: the rounded rectangle's half-width over the section's cm per radian there. */let ohwT=NaN;let ohwV=0;function openHalfWidth(t){if(t>=S.openT)return 0;if(t===ohwT)return ohwV// geometry loops ask for one row's t many times in a row\n;ohwT=t;ohwV=openWcmAt(crownBase(Math.PI,t)[1])/backSphi(t);return ohwV;}/** A point of the outline by s ∈ [0, 1] (rim → up the side → round the corner → along the top to the centre),\n     * spaced by arc length: [half-angle, t]. */function openEdgeAt(s){const side=S.openHc-S.openRh;const corner=Math.PI/2*Math.sqrt((S.openRc*S.openRc+S.openRh*S.openRh)/2);const top=S.openWc-S.openRc;let d=Math.min(1,Math.max(0,s))*(side+corner+top);let w;let y;if(d<=side){w=S.openWc;y=d;}else if(d<=side+corner){const a=(d-side)/corner*(Math.PI/2);w=S.openWc-S.openRc+S.openRc*Math.cos(a);y=side+S.openRh*Math.sin(a);}else{w=Math.max(0,top-(d-side-corner));y=S.openHc;}const t=y>=S.openHc?S.openT:tAtBackHeight(y);return[w/backSphi(t),t];}/**\n     * Folds of the unworn crown resting on a table, read off the set-3 photos (cap on its rim, no hands): a soft\n     * diagonal trough on the wearer's-left back panel (top views 43/45, back view 03), soft creases over the back\n     * opening, the panels pinching in towards the button. The earlier list came from photos of the cap held in a hand\n     * and showed the hand's dents (front-left dent, side hollows), so it was dropped. φ in degrees, depth in cm\n     * (negative = inwards), w = half width in cm, sharp = 0 soft … 1 creased.\n     */const FOLDS=[{p0:168,t0:.711,p1:142,t1:.501,depth:-.22,w:1.1,sharp:.15},{p0:152,t0:.532,p1:150,t1:.705,depth:-.08,w:.45,sharp:.5},{p0:-150,t0:.551,p1:-153,t1:.703,depth:-.07,w:.45,sharp:.5},// a soft dimple high in the middle of each panel (the panels pinch in towards the button)\n...[0,1,2,3,4,5].map(k=>(S.seams[k]+S.seams[k+1])/2/DEG).map(p=>({p0:p,t0:Math.abs(p)>120?.8:.862,p1:p,t1:Math.abs(p)>120?.8:.862,depth:-.06,w:1,sharp:0}))];const MERIDIAN_CM=15.6// ≈ arc length from rim to button (15.4 at the sides … 17.1 at the back), for fold distances\n;function foldDisp(phi,t,sphi){let d=0;const R=Math.max(.5,sphi);for(const f of FOLDS){const x0=f.p0*DEG*R;const y0=f.t0*MERIDIAN_CM;const x1=f.p1*DEG*R;const y1=f.t1*MERIDIAN_CM;const px=phi*R;const py=t*MERIDIAN_CM;const vx=x1-x0;const vy=y1-y0;const l2=vx*vx+vy*vy;const k=l2>1e-9?Math.max(0,Math.min(1,((px-x0)*vx+(py-y0)*vy)/l2)):0;const dx=px-(x0+vx*k);const dy=py-(y0+vy*k);const q=Math.sqrt(dx*dx+dy*dy)/f.w;if(q>3)continue;const soft=Math.exp(-q*q);const crease=q<1?(1-q)*(1-q):0;d+=f.depth*((1-f.sharp)*soft+f.sharp*crease);}// the sweatband gathers the fabric just above the rim: small ripples\nd+=.03*Math.sin(phi*23+1.3)*Math.sin(phi*7)*smooth(.195,.045,t)*smooth(0,.045,t);return d;}/** Radial displacement (cm) at (φ,t): panel bulge, folds, seam grooves, seam-allowance ridges. */function crownDisp(phi,t,sphi,seams=true){const sm=S.seams;let i=0;while(i<sm.length-2&&phi>sm[i+1])i++;const a=sm[i];const b=sm[i+1];const u=(phi-a)/(b-a);const th=meridianTheta(phi,t);const h=Math.pow(Math.cos(th),1/1.3);let d=S.bulge*h*Math.pow(Math.max(0,Math.sin(Math.PI*u)),.7)*smooth(0,.207,t);const da=Math.abs(phi-a)*sphi;const db=Math.abs(b-phi)*sphi;const near=da<db?a:b;const dist=Math.min(da,db);// seams are stiff: folds fade out next to them\nif(S.folds)d+=S.folds*foldDisp(phi,t,sphi)*smooth(.05,.9,dist)*(1-smooth(.919,.981,t));if(!seams)return d;let fade=smooth(0,.092,t)*(1-smooth(.894,.974,t));if(Math.abs(Math.abs(near)-Math.PI)<1e-6)fade*=smooth(S.openT,S.openT+.62*openTPerCm(),t)// back seam only above the opening\n;d-=S.groove*Math.exp(-((dist/S.grooveW)**2))*fade;d+=S.ridge*smooth(S.ridgeOff+S.ridgeW,S.ridgeOff,dist)*fade;return d;}function crownPoint(phi,t,off=0,seams=true){const p=crownBase(phi,t);const f=crownFrame(phi,t);const d=crownDisp(phi,t,f.sphi,seams)+off;return[p[0]+f.n[0]*d,p[1]+f.n[1]*d,p[2]+f.n[2]*d];}// ── brim ──\nfunction brimLen(psi){return S.brimL*Math.pow(Math.max(0,1-Math.pow(Math.abs(psi),S.brimP)),1/S.brimP);}/** Top surface of the bill. ψ ∈ [−1, 1] across (wearer's right → left), w ∈ [0, 1] from the crown out. */function brimPoint(psi,w){const phi=psi*S.brimPhi;const[ix,iz]=rimXZ(phi);// outward rim normal, pulled towards +z: a bill grows forward, not radially\nconst ea=rimXZ(phi-1e-4);const eb=rimXZ(phi+1e-4);let nx=-(eb[1]-ea[1]);let nz=eb[0]-ea[0];const nl=Math.hypot(nx,nz)||1;nx=nx/nl*(1-S.brimFwd);nz=nz/nl*(1-S.brimFwd)+S.brimFwd;const ml=Math.hypot(nx,nz)||1;nx/=ml;nz/=ml;const L=brimLen(psi);const d=w*L;const x=ix+nx*d;const y=-d*Math.tan(S.brimPitch)-(x*x-ix*ix)/(2*S.brimBend)-S.brimArch*d*d/2;return[x,y,iz+nz*d];}// ── framing: full-turn bounds in camera tangent space (same maths as the three.js camera) ──\nfunction sampleSilhouette(){const pts=[];for(let i=0;i<72;i++){const phi=-Math.PI+i/72*Math.PI*2;for(const t of[0,.15,.3,.45,.6,.72,.84,.93,1])pts.push(crownPoint(phi,t));}for(let i=0;i<=60;i++){const psi=-1+i/60*2;pts.push(brimPoint(psi,1));pts.push(brimPoint(psi,.5));}for(let i=0;i<=60;i++){const psi=-1+i/60*2;const p=brimPoint(psi,1);pts.push([p[0],p[1]-S.brimT-.05,p[2]])// underside + rounded edge\n;}// strap, folded tail and brass slide stand proud of the crown at the back\nfor(let k=0;k<=24;k++){const phi=Math.PI-S.openW-.2+(2*S.openW+.5)*k/24;for(const y of[.05,S.strapH*.5,S.strapH+.4])pts.push(onWall(phi,y,.7));}pts.push([S.xa,S.H+.45,S.za]);return pts;}function projectTangent(p,th){const x0=p[0];const y0=p[1]-S.pivotY;const z0=p[2]-S.pivotZ;const c=Math.cos(th);const s=Math.sin(th);// three.js rotation.y = th\nconst x=x0*c+z0*s;const z=-x0*s+z0*c;const ce=Math.cos(S.elev);const se=Math.sin(S.elev);const yv=y0*ce-z*se;const depth=S.dist-(y0*se+z*ce);return[x/depth,yv/depth];}setOpening();const MODEL_BOUNDS=(()=>{const pts=sampleSilhouette();let minX=Infinity;let maxX=-Infinity;let minY=Infinity;let maxY=-Infinity;for(let k=0;k<90;k++){const th=k/90*Math.PI*2;for(const p of pts){const[x,y]=projectTangent(p,th);if(x<minX)minX=x;if(x>maxX)maxX=x;if(y<minY)minY=y;if(y>maxY)maxY=y;}}const padX=(maxX-minX)*.02;const padY=(maxY-minY)*.025;minX-=padX;maxX+=padX;// the silhouette is the crown and the brim: the button on top is not in it and took ~2 % of the top padding,\n// leaving it 1 px from the box's edge in a small viewer (measured at 0°: 0.43 % of the height). 2 % more on top.\nconst room=(maxY-minY)*.02;maxY+=padY+room;minY-=padY;// topRoom: that extra room as a share of the box's height (the page centres the cap without it)\nreturn{minX,maxX,minY,maxY,w:maxX-minX,h:maxY-minY,topRoom:room/(maxY-minY)};})();const CAP_COLORS={// set-3 daylight photos with white references: a neutral grey, Lab ≈ (L) / 1.0 / −0.4 (raw camera), not the\n// taupe first read off warm-lit photos (was #9F8E82 / Lab 60 / 4.3 / 8.7); the derived colours keep their offsets\nfabric:\"#939092\",fabricInner:\"#7A7979\",thread:\"#989899\",brimThread:\"#AEAEAD\",embroidery:\"#DB2B33\",eyelet:\"#9F9F9F\",tape:\"#9B9499\",rivet:\"#BCBAB3\",brass:\"#C8A762\",label:\"#1B1A19\",hole:\"#252423\"};/** Front embroidery, measured on photos 03 + 05 unrolled over the fitted surface (fit/flatten.py), then\n     *  corrected until the render, unrolled the same way, matches: baselines 5.00 / 3.07 cm, x-heights 1.15 / 1.05 cm,\n     *  ink 10.55 / 10.70 cm wide, satin stroke 2.3 mm. */const FRONT_LINES=[{text:\"2042 champions\",size:2.298,condense:.6995,track:0,cx:.417,base:5.199},{text:\"league winners\",size:2.08,condense:.7798,track:.0367,cx:.307,base:3.273}];/** Regular cut + satin spread: stems ≈ 2.1 mm, hairlines ≈ 1.5 mm (photo median stroke 2.1–2.4 mm). */const EMB={stroke:.11,arc:-.138};const SIDE_TEXT={width:6.4,base:.847,x0:3.265,condense:1};const SHEEN=\"#aeadac\"// neutral, like the grey twill\n;/** Studio look: soft HDR studio + one shadow-casting key; calibrated in Lab against the photos. */const LOOK={exposure:.78,env:.3,key:5.5,keyPos:[-13,14,8],keyColor:\"#fffaf4\",twill:3,twillAlbedo:1.8,// wales per screen pixel: the weave's contrast rolls off towards the pixel limit like a camera's (to 55 %\n// between 0.28 and 0.6), then fades out entirely where mip-mapping would only leave shimmer (0.9 … 1.6)\ntwillFade:[.28,.6,.9,1.6],sheen:.55,sheenRoughness:.45,embAniso:.65};function lineWidthEm(g,text,trackEm,condense=1){let w=0;for(let i=0;i<text.length;i++){const gl=g.glyphs[text[i]];w+=(gl?gl.adv:500)/1e3*condense;if(i<text.length-1)w+=(g.kern[text[i]+text[i+1]]||0)/1e3*condense+trackEm;}return w;}/** Coverage mask of embroidered lines in a physical box (row 0 = box.y0, bottom). */function textMask(g,lines,align,box,ppc,stroke,arc){const W=Math.round((box.x1-box.x0)*ppc);const H=Math.round((box.y1-box.y0)*ppc);const c=document.createElement(\"canvas\");c.width=W;c.height=H;const m=c.getContext(\"2d\",{willReadFrequently:true});m.fillStyle=\"#fff\";m.strokeStyle=\"#fff\";m.lineJoin=\"round\";m.lineWidth=stroke*ppc;for(const ln of lines){const wEm=lineWidthEm(g,ln.text,ln.track,ln.condense);let x=align===\"center\"?ln.cx-wEm*ln.size/2:ln.cx;const scale=ln.size*ppc/1e3;for(let i=0;i<ln.text.length;i++){const ch=ln.text[i];const gl=g.glyphs[ch];const adv=(gl?gl.adv:500)/1e3*ln.condense*ln.size;if(gl&&gl.d){const xc=x+adv/2;const base=ln.base+arc*(xc/5)**2;const path=new Path2D;path.addPath(new Path2D(gl.d),new DOMMatrix([scale*ln.condense,0,0,scale,(x-box.x0)*ppc,(box.y1-base)*ppc]));m.fill(path);if(stroke>0)m.stroke(path);}x+=adv+(i<ln.text.length-1?g.kern[ch+ln.text[i+1]]||0:0)/1e3*ln.condense*ln.size+ln.track*ln.size;}}const d=m.getImageData(0,0,W,H).data;const cov=new Float32Array(W*H);for(let y=0;y<H;y++)for(let x=0;x<W;x++)cov[(H-1-y)*W+x]=d[(y*W+x)*4+3]/255;c.width=c.height=1;return{cov,W,H};}// ── crown chart: arc lengths and metrics on a coarse (φ, t) grid, shared by geometry, decals and textures\nfunction buildCrownChart(nP,nT){const phi0=-Math.PI;const dphi=2*Math.PI/(nP-1);const dt=1/(nT-1);const P=new Float32Array(nP*nT*3);const D=new Float32Array(nP*nT);for(let j=0;j<nT;j++){const t=j*dt;for(let i=0;i<nP;i++){const phi=phi0+i*dphi;const b=crownBase(phi,t);const f=crownFrame(phi,t);const d=crownDisp(phi,t,f.sphi,false);const k=j*nP+i;P[k*3]=b[0]+f.n[0]*d;P[k*3+1]=b[1]+f.n[1]*d;P[k*3+2]=b[2]+f.n[2]*d;D[k]=crownDisp(phi,t,f.sphi,true);}}const len=(a,b)=>Math.hypot(P[a*3]-P[b*3],P[a*3+1]-P[b*3+1],P[a*3+2]-P[b*3+2]);const SY=new Float32Array(nP*nT);const RA=new Float32Array(nP*nT);const SP=new Float32Array(nP*nT);const ST=new Float32Array(nP*nT);for(let i=0;i<nP;i++)for(let j=1;j<nT;j++)SY[j*nP+i]=SY[(j-1)*nP+i]+len(j*nP+i,(j-1)*nP+i);for(let j=0;j<nT;j++)for(let i=1;i<nP;i++)RA[j*nP+i]=RA[j*nP+i-1]+len(j*nP+i,j*nP+i-1);for(let j=0;j<nT;j++)for(let i=0;i<nP;i++){const k=j*nP+i;const im=Math.max(0,i-1);const ip=Math.min(nP-1,i+1);const jm=Math.max(0,j-1);const jp=Math.min(nT-1,j+1);SP[k]=len(j*nP+ip,j*nP+im)/((ip-im)*dphi);ST[k]=len(jp*nP+i,jm*nP+i)/((jp-jm)*dt);}return{nP,nT,phi0,dphi,dt,SY,RA,SP,ST,D};}function chartAt(ch,arr,phi,t){const fp=Math.min(ch.nP-1.000001,Math.max(0,(phi-ch.phi0)/ch.dphi));const ft=Math.min(ch.nT-1.000001,Math.max(0,t/ch.dt));const i=fp|0;const j=ft|0;const x=fp-i;const y=ft-j;const k=j*ch.nP+i;return arr[k]*(1-x)*(1-y)+arr[k+1]*x*(1-y)+arr[k+ch.nP]*(1-x)*y+arr[k+ch.nP+1]*x*y;}// ─── geometry builders (need three) ───\nfunction gridGeometry(T,cols,rows,fn){const pos=new Float32Array((cols+1)*(rows+1)*3);const uv=new Float32Array((cols+1)*(rows+1)*2);for(let j=0;j<=rows;j++)for(let i=0;i<=cols;i++){const k=j*(cols+1)+i;const r=fn(i,j);pos[k*3]=r.p[0];pos[k*3+1]=r.p[1];pos[k*3+2]=r.p[2];uv[k*2]=r.uv[0];uv[k*2+1]=r.uv[1];}const idx=[];for(let j=0;j<rows;j++)for(let i=0;i<cols;i++){const a=j*(cols+1)+i;const b=a+1;const c=a+cols+1;const d=c+1;idx.push(a,b,c,b,d,c);}const g=new T.BufferGeometry;g.setAttribute(\"position\",new T.BufferAttribute(pos,3));g.setAttribute(\"uv\",new T.BufferAttribute(uv,2));g.setIndex(idx);g.computeVertexNormals();return g;}/** Concatenate indexed geometries that carry the same attributes (fewer draw calls for small repeated parts). */function mergeGeometries(T,geos){const names=Object.keys(geos[0].attributes).filter(n=>geos.every(g=>g.getAttribute(n)));const out=new T.BufferGeometry;for(const n of names){const size=geos[0].getAttribute(n).itemSize;const total=geos.reduce((a,g)=>a+g.getAttribute(n).count,0);const arr=new Float32Array(total*size);let o=0;for(const g of geos){const at=g.getAttribute(n);for(let q=0;q<at.count;q++)for(let c=0;c<size;c++)arr[o++]=at.array[q*size+c];}out.setAttribute(n,new T.BufferAttribute(arr,size));}const idx=[];let base=0;for(const g of geos){const ix=g.index?g.index.array:null;const cnt=g.getAttribute(\"position\").count;if(ix)for(let q=0;q<ix.length;q++)idx.push(ix[q]+base);else for(let q=0;q<cnt;q++)idx.push(q+base);base+=cnt;g.dispose();}out.setIndex(idx);return out;}const TW_A=(TWILL_ANGLE-90)*Math.PI/180;const TW_C=Math.cos(TW_A);const TW_S=Math.sin(TW_A);/** Column φ for panel p at fraction s, clustered towards the seams so grooves are resolved. */function panelPhi(a,b,s){const k=.82;return a+(b-a)*(s-k*Math.sin(2*Math.PI*s)/(2*Math.PI));}/**\n     * The six crown panels as separate strips (a seam is a real discontinuity of the weave), with normals taken\n     * from the continuous surface (no shading break), UVs in (φ, t) for the baked maps and a second UV set in\n     * panel-local centimetres for the twill (grain runs up the middle of each panel).\n     */async function crownGeometry(T,ch,perPanel,rows,off,step,solveTwill=true){const seams=S.seams;const nv=(perPanel+1)*(rows+1);const pos=new Float32Array(nv*6*3);const nrm=new Float32Array(nv*6*3);const uv=new Float32Array(nv*6*2);const duv=new Float32Array(nv*6*2);const idx=[];const G=perPanel+3// with a ghost column each side\n;const R=rows+3;const grid=new Float32Array(G*R*3);for(let p=0;p<6;p++){const phiC=(seams[p]+seams[p+1])/2;const colPhi=(i,t)=>{const w=openHalfWidth(t);const a=p===0?-Math.PI+w:seams[p];const b=p===5?Math.PI-w:seams[p+1];return panelPhi(a,b,i/perPanel);};const rowT=j=>Math.min(1,Math.max(0,j/rows));for(let j=-1;j<=rows+1;j++)for(let i=-1;i<=perPanel+1;i++){const t=rowT(j);const q=crownPoint(colPhi(i,t),t,off);const k=((j+1)*G+(i+1))*3;grid[k]=q[0];grid[k+1]=q[1];grid[k+2]=q[2];}const base=p*nv;for(let j=0;j<=rows;j++)for(let i=0;i<=perPanel;i++){const t=rowT(j);const phi=colPhi(i,t);const v=base+j*(perPanel+1)+i;const k=((j+1)*G+(i+1))*3;pos[v*3]=grid[k];pos[v*3+1]=grid[k+1];pos[v*3+2]=grid[k+2];// normal from the neighbours (ghost column across the seam: continuous surface)\nconst kl=k-3;const kr=k+3;const kd=k-G*3;const ku=k+G*3;const ax=grid[kr]-grid[kl];const ay=grid[kr+1]-grid[kl+1];const az=grid[kr+2]-grid[kl+2];const bx=grid[ku]-grid[kd];const by=grid[ku+1]-grid[kd+1];const bz=grid[ku+2]-grid[kd+2];let nx=ay*bz-az*by;let ny=az*bx-ax*bz;let nz=ax*by-ay*bx;let l=Math.hypot(nx,ny,nz);if(!(l>1e-9)||t>.995){nx=0;ny=1;nz=0;l=1;}nrm[v*3]=nx/l;nrm[v*3+1]=ny/l;nrm[v*3+2]=nz/l;uv[v*2]=(phi+Math.PI)/(2*Math.PI);uv[v*2+1]=t;// initial twill UVs: row/meridian arc lengths turned to the wale angle (refined below)\nconst sx=chartAt(ch,ch.RA,phi,t)-chartAt(ch,ch.RA,phiC,t);const sy=chartAt(ch,ch.SY,phi,t);duv[v*2]=(sx*TW_C+sy*TW_S)/TWILL_TILE_CM;duv[v*2+1]=(-sx*TW_S+sy*TW_C)/TWILL_TILE_CM;}// least-squares twill field: the grain runs up the panel with the same spacing everywhere. It is solved on\n// the panel's full, regular grid (the back panels as if there were no opening: their real columns bunch\n// up along the arch and would kink the weave there), then read back at the real vertices.\n{const a0=seams[p];const b0=seams[p+1];const Pv=new Float32Array(nv*3);const initV=new Float32Array(nv*2);for(let j=0;j<=rows;j++)for(let i=0;i<=perPanel;i++){const t=rowT(j);const phi=panelPhi(a0,b0,i/perPanel);const q=crownPoint(phi,t,off);const v=j*(perPanel+1)+i;Pv[v*3]=q[0];Pv[v*3+1]=q[1];Pv[v*3+2]=q[2];const sx=chartAt(ch,ch.RA,phi,t)-chartAt(ch,ch.RA,phiC,t);const sy=chartAt(ch,ch.SY,phi,t);initV[v*2]=(sx*TW_C+sy*TW_S)/TWILL_TILE_CM;initV[v*2+1]=(-sx*TW_S+sy*TW_C)/TWILL_TILE_CM;}// the inside face is seen far less: its weave keeps the plain panel mapping\nconst F=solveTwill?twillField(Pv,perPanel,rows,initV,TWILL_ANGLE,TWILL_TILE_CM):initV;for(let j=0;j<=rows;j++){const t=rowT(j);for(let i=0;i<=perPanel;i++){const v=j*(perPanel+1)+i;const phi=colPhi(i,t);let fi=i;if(p===0||p===5){// invert panelPhi (monotonic) by bisection: which regular column is this φ at?\nlet lo=0;let hi=1;for(let it=0;it<40;it++){const m=(lo+hi)/2;if(panelPhi(a0,b0,m)<phi)lo=m;else hi=m;}fi=(lo+hi)/2*perPanel;}const i0=Math.min(perPanel-1,Math.max(0,Math.floor(fi)));const f=Math.min(1,Math.max(0,fi-i0));const r0=j*(perPanel+1);duv[(base+v)*2]=F[(r0+i0)*2]*(1-f)+F[(r0+i0+1)*2]*f;duv[(base+v)*2+1]=F[(r0+i0)*2+1]*(1-f)+F[(r0+i0+1)*2+1]*f;}}}for(let j=0;j<rows;j++)for(let i=0;i<perPanel;i++){const a=base+j*(perPanel+1)+i;const b=a+1;const c=a+perPanel+1;const d=c+1;idx.push(a,b,c,b,d,c);}await step();}const g=new T.BufferGeometry;g.setAttribute(\"position\",new T.BufferAttribute(pos,3));g.setAttribute(\"normal\",new T.BufferAttribute(nrm,3));g.setAttribute(\"uv\",new T.BufferAttribute(uv,2));g.setAttribute(\"detailUv\",new T.BufferAttribute(duv,2));g.setIndex(idx);return g;}/** Plain lining (inside), no detail UVs. */function liningGeometry(T,perPanel,rows){const seams=S.seams;const cols=perPanel*6;return gridGeometry(T,cols,rows,(i,j)=>{const t=j/rows;const p=Math.min(5,Math.floor(i/perPanel));const s=i/perPanel-p;let a=seams[p];let b=seams[p+1];const w=openHalfWidth(t);if(p===0)a=-Math.PI+w;if(p===5)b=Math.PI-w;const phi=i===cols?Math.PI-w:panelPhi(a,b,s);return{p:crownPoint(phi,t,-.08),uv:[(phi+Math.PI)/(2*Math.PI),t]};});}/**\n     * How much of the room's light reaches each point of the inside wall (0 … 1): cosine-weighted rays from the\n     * wall, marched through the crown (its superellipse profile), escape through the head opening or the back\n     * opening, anything else hits fabric. A coarse (φ, t) grid, sampled bilinearly.\n     *//**\n     * Horizontal sections of the undisplaced crown, for inside tests: per height level, the section's centre (z) and\n     * its radius around that centre as a function of the polar angle, plus the t of the back meridian at that height.\n     * (The meridian exponent varies with φ, so a height is not a single t: each φ is solved on its own.)\n     */function crownSections(nY,nA){const NPH=96;const zc=new Float32Array(nY);const xc=new Float32Array(nY)// sections are centred on their mean (x, z): a sideways lean moves them\n;const rad=new Float32Array(nY*nA);const tBack=new Float32Array(nY);const tAtY=(phi,y)=>{let lo=0;let hi=1;for(let it=0;it<30;it++){const m=(lo+hi)/2;if(crownBase(phi,m)[1]<y)lo=m;else hi=m;}return(lo+hi)/2;};for(let k=0;k<nY;k++){const y=S.H*.999*k/(nY-1);const xs=[];const zs=[];for(let i=0;i<NPH;i++){const p=crownBase(-Math.PI+2*Math.PI*i/NPH,tAtY(-Math.PI+2*Math.PI*i/NPH,y));xs.push(p[0]);zs.push(p[2]);}let c=0;let cx=0;for(const z of zs)c+=z/NPH;for(const x of xs)cx+=x/NPH;zc[k]=c;xc[k]=cx;tBack[k]=tAtY(Math.PI,y);// polar samples sorted by angle, resampled onto nA bins\nconst pol=xs.map((x,i)=>[Math.atan2(x-cx,zs[i]-c),Math.hypot(x-cx,zs[i]-c)]).sort((a,b)=>a[0]-b[0]);for(let a=0;a<nA;a++){const al=-Math.PI+2*Math.PI*a/nA;let j=0;while(j<pol.length&&pol[j][0]<al)j++;const p0=pol[(j-1+pol.length)%pol.length];const p1=pol[j%pol.length];let a0=p0[0];let a1=p1[0];if(j===0)a0-=2*Math.PI;if(j===pol.length)a1+=2*Math.PI;const f=a1-a0>1e-9?(al-a0)/(a1-a0):0;rad[k*nA+a]=p0[1]+(p1[1]-p0[1])*f;}}const radAt=(k,x,z)=>{const al=Math.atan2(x-xc[k],z-zc[k]);const fa=(al+Math.PI)/(2*Math.PI)*nA;const a0=Math.floor(fa)%nA;const a1=(a0+1)%nA;const f=fa-Math.floor(fa);return{r:rad[k*nA+a0]*(1-f)+rad[k*nA+a1]*f,d:Math.hypot(x-xc[k],z-zc[k])};};return{/** inside the crown shell (above the rim plane, below the top)? */inside(x,y,z){if(y<0||y>=S.H*.999)return false;const fy=y/(S.H*.999)*(nY-1);const k=Math.min(nY-2,Math.floor(fy));const f=fy-k;const A=radAt(k,x,z);const B=radAt(k+1,x,z);return A.d*(1-f)+B.d*f<A.r*(1-f)+B.r*f;},/** t of the back meridian at height y (for the back-opening test) */tBackAt(y){const fy=Math.min(nY-1.000001,Math.max(0,y/(S.H*.999)*(nY-1)));const k=Math.floor(fy);return tBack[k]+(tBack[k+1]-tBack[k])*(fy-k);}};}async function interiorVisibility(nPhi,nTt,rays,step){const grid=new Float32Array(nPhi*nTt);const sec=crownSections(40,128);// cosine-weighted hemisphere directions (Fibonacci spiral), in a local frame with z along the normal\nconst dirs=[];for(let r=0;r<rays;r++){const u=(r+.5)/rays;const a=r*2.399963;const sr=Math.sqrt(u);dirs.push([sr*Math.cos(a),sr*Math.sin(a),Math.sqrt(1-u)]);}for(let j=0;j<nTt;j++){const t=Math.min(.985,j/(nTt-1));for(let i=0;i<nPhi;i++){const phi=-Math.PI+2*Math.PI*i/nPhi;const P=crownPoint(phi,t,-.15);const fr=crownFrame(phi,t);const n=[-fr.n[0],-fr.n[1],-fr.n[2]];const up=Math.abs(n[1])>.9?[1,0,0]:[0,1,0];let ax=[up[1]*n[2]-up[2]*n[1],up[2]*n[0]-up[0]*n[2],up[0]*n[1]-up[1]*n[0]];const al=Math.hypot(ax[0],ax[1],ax[2]);ax=[ax[0]/al,ax[1]/al,ax[2]/al];const ay=[n[1]*ax[2]-n[2]*ax[1],n[2]*ax[0]-n[0]*ax[2],n[0]*ax[1]-n[1]*ax[0]];let open=0;for(const d of dirs){const dx=ax[0]*d[0]+ay[0]*d[1]+n[0]*d[2];const dy=ax[1]*d[0]+ay[1]*d[1]+n[1]*d[2];const dz=ax[2]*d[0]+ay[2]*d[1]+n[2]*d[2];for(let sd=.4;sd<30;sd+=.45){const x=P[0]+dx*sd;const y=P[1]+dy*sd;const z=P[2]+dz*sd;if(y<0){open++// out through the head opening\n;break;}if(!sec.inside(x,y,z)){// reached the shell: through the back opening, or fabric\nconst ph=Math.atan2(x,z);const tq=sec.tBackAt(y);if(Math.abs(ph)>Math.PI-openHalfWidth(tq))open++;break;}}}grid[j*nPhi+i]=open/rays;}await step();}return(phi,t)=>{const fx=((phi+Math.PI)/(2*Math.PI)*nPhi+nPhi)%nPhi;const fy=Math.min(nTt-1.000001,Math.max(0,Math.min(.985,t)/.985*(nTt-1)));const x0=Math.floor(fx)%nPhi;const x1=(x0+1)%nPhi;const y0=fy|0;const ax=fx-Math.floor(fx);const ay=fy-y0;const g=(xx,yy)=>grid[yy*nPhi+xx];return(g(x0,y0)*(1-ax)+g(x1,y0)*ax)*(1-ay)+(g(x0,y0+1)*(1-ax)+g(x1,y0+1)*ax)*ay;};}/** t at which the meridian at φ reaches the arc length sy (cm) from the rim, from the chart. */function tAtSY(ch,phi,sy){let lo=0;let hi=1;for(let it=0;it<26;it++){const m=(lo+hi)/2;if(chartAt(ch,ch.SY,phi,m)<sy)lo=m;else hi=m;}return(lo+hi)/2;}const SWEATBAND_H=3// cm up the inside wall from the rim\n;/**\n     * The sweatband: a folded cotton band sewn in at the rim, standing a little off the wall towards its free top\n     * edge, which rolls over; soft vertical gathers. UVs: u in cm along the band (for the tiled tape map), v 0 … 1\n     * across; detailUv in twill tiles; vertex colours carry the inside's darkness.\n     */function sweatbandGeometry(T,ch,cols,vis){const H=SWEATBAND_H;const a=-Math.PI+S.openW+.035;const b=Math.PI-S.openW-.035;const nz=latticeNoise(71);const prof=[];const NB=12;for(let j=0;j<=NB;j++){const v=H*j/NB;prof.push({v,off:-(.1+.13*Math.pow(v/H,1.6)),dv:0});}// the free top edge rolls over towards the wall (radius 0.6 mm)\nconst R=.06;const top=prof[prof.length-1];for(let k=1;k<=5;k++){const ang=Math.PI*k/5;prof.push({v:H+R*Math.sin(ang),off:top.off+R*(1-Math.cos(ang)),dv:R*ang});}const rows=prof.length-1;const pos=new Float32Array((cols+1)*(rows+1)*3);const uv=new Float32Array((cols+1)*(rows+1)*2);const duv=new Float32Array((cols+1)*(rows+1)*2);const col=new Float32Array((cols+1)*(rows+1)*3);const ra0=chartAt(ch,ch.RA,a,.1);for(let i=0;i<=cols;i++){const phi=a+(b-a)*i/cols;const ra=chartAt(ch,ch.RA,phi,.1)-ra0;const gather=nz(phi*11,.5)-.5;for(let j=0;j<=rows;j++){const pr=prof[j];const t=tAtSY(ch,phi,Math.min(pr.v,H+.2));const off=pr.off+.03*gather*Math.min(1,pr.v/H)+.012*Math.sin(phi*53+4*gather)*(pr.v/H);const q=crownPoint(phi,t,off,false);const k=j*(cols+1)+i;pos[k*3]=q[0];pos[k*3+1]=q[1];pos[k*3+2]=q[2];const vcm=Math.min(H,pr.v)+pr.dv;uv[k*2]=ra/3.9;uv[k*2+1]=Math.min(1,vcm/H);duv[k*2]=ra/TWILL_TILE_CM;duv[k*2+1]=vcm/TWILL_TILE_CM;// inside darkness, plus the crease where the band meets the rim seam\nconst d=(.3+.7*vis(phi,t))*(.7+.3*Math.min(1,pr.v/.35));col[k*3]=col[k*3+1]=col[k*3+2]=d;}}const idx=[];for(let j=0;j<rows;j++)for(let i=0;i<cols;i++){const p0=j*(cols+1)+i;idx.push(p0,p0+cols+1,p0+1,p0+1,p0+cols+1,p0+cols+2);}const g=new T.BufferGeometry;g.setAttribute(\"position\",new T.BufferAttribute(pos,3));g.setAttribute(\"uv\",new T.BufferAttribute(uv,2));g.setAttribute(\"detailUv\",new T.BufferAttribute(duv,2));g.setAttribute(\"color\",new T.BufferAttribute(col,3));g.setIndex(idx);g.computeVertexNormals();return g;}/**\n     * The covered button: a 1.3 cm mushroom of the same twill, the fabric gathered into small pleats underneath.\n     * Built as a lathe by hand so the twill can wrap over it like the real cut disc (UV = arc length from the top).\n     */function buttonGeometry(T,segs){const R=S.buttonR;const Hh=S.buttonH;// profile (radius, height) from the top centre down to the neck, measured shape: widest at ~half height\n// flat-topped, steep-sided (photo 05 silhouette), tucked in under the rim where the cloth is gathered\nconst ctrl=[[0,Hh],[.4*R,Hh-.012],[.7*R,Hh-.055],[.88*R,Hh-.15],[.98*R,Hh-.3],[R,.42*Hh],[.96*R,.24*Hh],[.86*R,.1*Hh],[.72*R,.02*Hh],[.6*R,-.02],[.55*R,-.07]];const curve=new T.SplineCurve(ctrl.map(([r,y])=>new T.Vector2(r,y)));const NPr=26;const pts=curve.getSpacedPoints(NPr);const arc=[0];for(let k=1;k<=NPr;k++)arc.push(arc[k-1]+pts[k].distanceTo(pts[k-1]));const nz=latticeNoise(83);const pos=new Float32Array((segs+1)*(NPr+1)*3);const uv=new Float32Array((segs+1)*(NPr+1)*2);const duv=new Float32Array((segs+1)*(NPr+1)*2);const col=new Float32Array((segs+1)*(NPr+1)*3);for(let j=0;j<=NPr;j++)for(let i=0;i<=segs;i++){const a=2*Math.PI*i/segs;const y=pts[j].y;// gathered pleats under the dome\nconst pleat=1+.045*Math.sin(13*a+3*nz(a*2,1.7))*smooth(.16*Hh,-.05,y);const r=pts[j].x*pleat;const k=j*(segs+1)+i;pos[k*3]=r*Math.sin(a);pos[k*3+1]=y;pos[k*3+2]=r*Math.cos(a);uv[k*2]=i/segs;uv[k*2+1]=j/NPr;duv[k*2]=arc[j]*Math.sin(a)/TWILL_TILE_CM;duv[k*2+1]=arc[j]*Math.cos(a)/TWILL_TILE_CM;const d=.5+.5*smooth(-.04,.45*Hh,y);col[k*3]=col[k*3+1]=col[k*3+2]=d;}const idx=[];for(let j=0;j<NPr;j++)for(let i=0;i<segs;i++){const p0=j*(segs+1)+i;idx.push(p0,p0+segs+1,p0+1,p0+1,p0+segs+1,p0+segs+2);}const g=new T.BufferGeometry;g.setAttribute(\"position\",new T.BufferAttribute(pos,3));g.setAttribute(\"uv\",new T.BufferAttribute(uv,2));g.setAttribute(\"detailUv\",new T.BufferAttribute(duv,2));g.setAttribute(\"color\",new T.BufferAttribute(col,3));g.setIndex(idx);g.computeVertexNormals();// the lathe's first and last columns are the same meridian: average their normals (no shading seam)\nconst nA=g.getAttribute(\"normal\");for(let j=0;j<=NPr;j++){const k0=j*(segs+1);const k1=k0+segs;const nx=nA.getX(k0)+nA.getX(k1);const ny=nA.getY(k0)+nA.getY(k1);const nzz=nA.getZ(k0)+nA.getZ(k1);const l=Math.hypot(nx,ny,nzz)||1;nA.setXYZ(k0,nx/l,ny/l,nzz/l);nA.setXYZ(k1,nx/l,ny/l,nzz/l);}return g;}/**\n     * The wall of an eyelet hole: the ring's satin threads wrap over the edge and line the punched hole down to the\n     * inside face (a slight waist mid-way).\n     */function eyeletWallGeometry(T,ch,phiE,tE,r0,segs){const sp=chartAt(ch,ch.SP,phiE,tE);const st=chartAt(ch,ch.ST,phiE,tE);const ring=[[1,.035],[.9,-.03],[.97,-.1]];return gridGeometry(T,segs,ring.length-1,(i,j)=>{const a=2*Math.PI*i/segs;const[rs,off]=ring[j];const r=r0*rs;return{p:crownPoint(phiE+r*Math.cos(a)/sp,tE+r*Math.sin(a)/st,off,false),uv:[i/segs,j/(ring.length-1)]};});}/**\n     * The binding: a cotton tape folded over the cut edge of the back opening, flat on both faces (BIND_W wide\n     * outside, a little wider inside), rounded where it wraps the edge. Swept along the arch in the crown's own\n     * frame. UV: u in cm along the arch (for the tiled tape map), v in cm around the profile; vertex colours\n     * carry the inside's darkness.\n     */function bindingGeometry(T,n,vis){// cross-section (b = cm into the fabric from the edge, o = cm out of the crown surface), outside → inside\nconst prof=[];const R=.075// half the folded thickness\n;const oc=-.03// centre of the fold, between the two faces (the crown cloth is 0.8 mm thick, inwards)\n;const Wo=BIND_W;const Wi=BIND_W+.1;const NF=8;for(let k=0;k<=6;k++){const b=Wo*(1-k/6);// tucked into the crown at its inner edge, standing proud towards the fold\nprof.push({b,o:oc+R*(.55+.45*smooth(Wo,Wo-.18,b)),inside:0});}for(let k=1;k<NF;k++){const a=Math.PI*k/NF;prof.push({b:-R*Math.sin(a)*1.1,o:oc+R*Math.cos(a),inside:k/NF});}for(let k=0;k<=6;k++){const b=Wi*k/6;prof.push({b,o:oc-R*(.55+.45*smooth(Wi,Wi-.18,b)),inside:1});}const pv=[0];for(let k=1;k<prof.length;k++)pv.push(pv[k-1]+Math.hypot(prof[k].b-prof[k-1].b,prof[k].o-prof[k-1].o));// the arch: edge points, their tangent, the outward normal and the in-surface direction into the cloth\nconst edge=[];for(let k=0;k<=n;k++){const sArc=k/n;// reaches openT exactly at the top, where both halves meet at φ = π\nconst sd=sArc<.5?-1:1;const[hw,t]=openEdgeAt(sArc<.5?2*sArc:2*(1-sArc));edge.push({phi:sd*(Math.PI-hw),t});}// the very top of the arch: both halves meet at φ = π (the loop above lands there at sArc = 0.5)\nconst P=edge.map(e=>crownPoint(e.phi,e.t,0,false));const cols=n;const rows=prof.length-1;const pos=new Float32Array((cols+1)*(rows+1)*3);const uv=new Float32Array((cols+1)*(rows+1)*2);const duv=new Float32Array((cols+1)*(rows+1)*2);const col=new Float32Array((cols+1)*(rows+1)*3);let along=0;for(let i=0;i<=cols;i++){if(i>0)along+=Math.hypot(P[i][0]-P[i-1][0],P[i][1]-P[i-1][1],P[i][2]-P[i-1][2]);const a=P[Math.max(0,i-1)];const c=P[Math.min(cols,i+1)];let tx=c[0]-a[0];let ty=c[1]-a[1];let tz=c[2]-a[2];const tl=Math.hypot(tx,ty,tz)||1;tx/=tl;ty/=tl;tz/=tl;const q1=crownPoint(edge[i].phi,edge[i].t,1,false);let nx=q1[0]-P[i][0];let ny=q1[1]-P[i][1];let nz=q1[2]-P[i][2];const d=nx*tx+ny*ty+nz*tz;nx-=d*tx;ny-=d*ty;nz-=d*tz;const nl=Math.hypot(nx,ny,nz)||1;nx/=nl;ny/=nl;nz/=nl;// into the cloth = away from the opening: towards the crown's centre line (|φ| smaller) or upwards\nlet bx=ny*tz-nz*ty;let by=nz*tx-nx*tz;let bz=nx*ty-ny*tx;const probe=crownPoint(edge[i].phi*.97,Math.min(1,edge[i].t+.03),0,false);if(bx*(probe[0]-P[i][0])+by*(probe[1]-P[i][1])+bz*(probe[2]-P[i][2])<0){bx=-bx;by=-by;bz=-bz;}const inDark=.3+.7*vis(edge[i].phi*.99,edge[i].t);for(let j=0;j<=rows;j++){const pr=prof[j];const k=j*(cols+1)+i;pos[k*3]=P[i][0]+bx*pr.b+nx*pr.o;pos[k*3+1]=P[i][1]+by*pr.b+ny*pr.o;pos[k*3+2]=P[i][2]+bz*pr.b+nz*pr.o;uv[k*2]=along;uv[k*2+1]=pv[j];duv[k*2]=along/TWILL_TILE_CM;duv[k*2+1]=pv[j]/TWILL_TILE_CM;const dk=1+(inDark-1)*pr.inside;col[k*3]=col[k*3+1]=col[k*3+2]=dk;}}const idx=[];for(let j=0;j<rows;j++)for(let i=0;i<cols;i++){const p0=j*(cols+1)+i;idx.push(p0,p0+1,p0+cols+1,p0+1,p0+cols+2,p0+cols+1);}const g=new T.BufferGeometry;g.setAttribute(\"position\",new T.BufferAttribute(pos,3));g.setAttribute(\"uv\",new T.BufferAttribute(uv,2));g.setAttribute(\"detailUv\",new T.BufferAttribute(duv,2));g.setAttribute(\"color\",new T.BufferAttribute(col,3));g.setIndex(idx);g.computeVertexNormals();return{g,width:pv[pv.length-1],foldAt:[pv[6]+.001,pv[6+NF]]};}/**\n     * Bill columns (ψ values) spaced evenly along the outer edge. The bill's length falls to zero at ψ = ±1 with a\n     * vertical tangent (superellipse outline), so even steps in ψ would leave the side ends as one long sliver.\n     */function brimColumns(cols){const N=4e3;const P=Math.max(1,S.brimP);const psiAt=u=>1-Math.pow(1-u,P)// dense towards the end, where the edge turns\n;const ps=[0];const len=[0];let prev=brimPoint(0,1);for(let k=1;k<=N;k++){const psi=psiAt(k/N);const q=brimPoint(psi,1);len.push(len[k-1]+Math.hypot(q[0]-prev[0],q[1]-prev[1],q[2]-prev[2]));ps.push(psi);prev=q;}const half=cols>>1;const out=new Array(cols+1).fill(0);let k=1;for(let i=0;i<=half;i++){const target=len[N]*i/half;while(k<N&&len[k]<target)k++;const f=len[k]>len[k-1]?(target-len[k-1])/(len[k]-len[k-1]):0;const psi=i===half?1:ps[k-1]+(ps[k]-ps[k-1])*Math.min(1,Math.max(0,f));out[half+i]=psi;out[half-i]=-psi;}return out;}function brimGeometry(T,cols,rows){// top, bottom and a rounded outer edge in one geometry; second UV set in cm for the twill\ncols=cols&~1;const th=S.brimT;const psiC=brimColumns(cols);const top=[];const nrm=[];for(let j=0;j<=rows;j++){top.push([]);nrm.push([]);for(let i=0;i<=cols;i++)top[j].push(brimPoint(psiC[i],j/rows));}for(let j=0;j<=rows;j++)for(let i=0;i<=cols;i++){const a=top[j][Math.max(0,i-1)];const b=top[j][Math.min(cols,i+1)];const c=top[Math.max(0,j-1)][i];const d=top[Math.min(rows,j+1)][i];const du=[b[0]-a[0],b[1]-a[1],b[2]-a[2]];const dv=[d[0]-c[0],d[1]-c[1],d[2]-c[2]];let n=[du[1]*dv[2]-du[2]*dv[1],du[2]*dv[0]-du[0]*dv[2],du[0]*dv[1]-du[1]*dv[0]];if(n[1]<0)n=[-n[0],-n[1],-n[2]];const l=Math.hypot(n[0],n[1],n[2]);const lu=Math.hypot(du[0],du[1],du[2]);const lv=Math.hypot(dv[0],dv[1],dv[2]);nrm[j][i]=l>1e-4*lu*lv&&l>1e-12?[n[0]/l,n[1]/l,n[2]/l]:[NaN,NaN,NaN];}// towards ψ = ±1 the columns fan out of one rim point along the bill's side edge (degenerate, collinear\n// slivers): they take the normal of the nearest regular column inwards\nfor(let j=0;j<=rows;j++)for(let i=0;i<=cols;i++){if(nrm[j][i][0]===nrm[j][i][0])continue;const dir=i<cols/2?1:-1;let k=i;while(k>0&&k<cols&&!(nrm[j][k][0]===nrm[j][k][0]))k+=dir;nrm[j][i]=nrm[j][k][0]===nrm[j][k][0]?nrm[j][k]:[0,1,0];}// physical coordinates for the twill: arc along ψ from the centre line, arc along w from the crown\nconst ax=[];const ay=[];const mid=cols>>1;for(let j=0;j<=rows;j++){ax.push(new Array(cols+1).fill(0));ay.push(new Array(cols+1).fill(0));for(let i=mid+1;i<=cols;i++)ax[j][i]=ax[j][i-1]+Math.hypot(top[j][i][0]-top[j][i-1][0],top[j][i][1]-top[j][i-1][1],top[j][i][2]-top[j][i-1][2]);for(let i=mid-1;i>=0;i--)ax[j][i]=ax[j][i+1]-Math.hypot(top[j][i][0]-top[j][i+1][0],top[j][i][1]-top[j][i+1][1],top[j][i][2]-top[j][i+1][2]);}for(let i=0;i<=cols;i++)for(let j=1;j<=rows;j++)ay[j][i]=ay[j-1][i]+Math.hypot(top[j][i][0]-top[j-1][i][0],top[j][i][1]-top[j-1][i][1],top[j][i][2]-top[j-1][i][2]);const pos=[];const uv=[];const duv=[];const idx=[];// the bill cover is cut with its grain side to side: the weave turned 90° from the crown's, which puts the\n// wales at ≈ 27° to the stitch rows as on photo 05. (dx, dy) is left-handed seen from above, so the top\n// swaps and negates, the underside only swaps.\nconst push=(p,u,v,dx,dy,under=false)=>{pos.push(p[0],p[1],p[2]);uv.push(u,v);if(under)duv.push(dy/TWILL_TILE_CM,-dx/TWILL_TILE_CM);else duv.push(-dy/TWILL_TILE_CM,-dx/TWILL_TILE_CM);return pos.length/3-1;};const base0=0;const uOf=i=>(psiC[i]+1)/2;for(let j=0;j<=rows;j++)for(let i=0;i<=cols;i++)push(top[j][i],uOf(i),j/rows,ax[j][i],ay[j][i]);for(let j=0;j<rows;j++)for(let i=0;i<cols;i++){const a=base0+j*(cols+1)+i;idx.push(a,a+cols+1,a+1,a+1,a+cols+1,a+cols+2);}const base1=pos.length/3;for(let j=0;j<=rows;j++)for(let i=0;i<=cols;i++){const p=top[j][i];const n=nrm[j][i];push([p[0]-n[0]*th,p[1]-n[1]*th,p[2]-n[2]*th],uOf(i),j/rows,ax[j][i]+.37,ay[j][i]+.21,true);}for(let j=0;j<rows;j++)for(let i=0;i<cols;i++){const a=base1+j*(cols+1)+i;idx.push(a,a+1,a+cols+1,a+1,a+cols+2,a+cols+1);}// rounded outer edge\nconst K=6;const base2=pos.length/3;const mid3=brimPoint(0,.5);for(let i=0;i<=cols;i++){const p=top[rows][i];const n=nrm[rows][i];// outwards = square to the edge within the bill surface (columns meet the edge obliquely near the corners,\n// and the end columns have no length at all)\nconst e0=top[rows][Math.max(0,i-1)];const e1=top[rows][Math.min(cols,i+1)];const tg=[e1[0]-e0[0],e1[1]-e0[1],e1[2]-e0[2]];let o=[tg[1]*n[2]-tg[2]*n[1],tg[2]*n[0]-tg[0]*n[2],tg[0]*n[1]-tg[1]*n[0]];if(o[0]*(p[0]-mid3[0])+o[1]*(p[1]-mid3[1])+o[2]*(p[2]-mid3[2])<0)o=[-o[0],-o[1],-o[2]];const ol=Math.hypot(o[0],o[1],o[2])||1;o=[o[0]/ol,o[1]/ol,o[2]/ol];const r=th/2;const c=[p[0]-n[0]*r,p[1]-n[1]*r,p[2]-n[2]*r];for(let k=0;k<=K;k++){const a=k/K*Math.PI;const ca=Math.cos(a);const sa=Math.sin(a)*1.15;push([c[0]+(n[0]*ca+o[0]*sa)*r,c[1]+(n[1]*ca+o[1]*sa)*r,c[2]+(n[2]*ca+o[2]*sa)*r],uOf(i),.999,ax[rows][i],ay[rows][i]+k/K*.45);}}for(let i=0;i<cols;i++)for(let k=0;k<K;k++){const a=base2+i*(K+1)+k;const b=a+K+1;idx.push(a,a+1,b,a+1,b+1,b);}const g=new T.BufferGeometry;g.setAttribute(\"position\",new T.Float32BufferAttribute(pos,3));g.setAttribute(\"uv\",new T.Float32BufferAttribute(uv,2));g.setAttribute(\"detailUv\",new T.Float32BufferAttribute(duv,2));g.setIndex(idx);g.computeVertexNormals();return g;}/** Decal patch over a (φ,t) window, UVs from the crown chart (same coordinates as the baked crown maps). */function decalGeometry(T,ch,phiA,phiB,tA,tB,cols,rows,off,box,xOriginPhi){return gridGeometry(T,cols,rows,(i,j)=>{const phi=phiA+(phiB-phiA)*(i/cols);const t=tA+(tB-tA)*(j/rows);const sx=chartAt(ch,ch.RA,phi,t)-chartAt(ch,ch.RA,xOriginPhi,t);const sy=chartAt(ch,ch.SY,phi,t);return{p:crownPoint(phi,t,off),uv:[(sx-box.x0)/(box.x1-box.x0),(sy-box.y0)/(box.y1-box.y0)]};});}/** t at which the chart's meridian arc from the rim reaches `cm` (at azimuth φ). */function tAtHeightChart(ch,phi,cm){let lo=0;let hi=1;for(let k=0;k<30;k++){const m=(lo+hi)/2;if(chartAt(ch,ch.SY,phi,m)<cm)lo=m;else hi=m;}return(lo+hi)/2;}/** Yields to the event loop between heavy steps so the page stays responsive while the cap is built. */const breathe=()=>new Promise(r=>{// a message-channel task: not throttled like timers in background tabs\n    if(typeof MessageChannel===\"function\"){const ch=new MessageChannel;ch.port1.onmessage=()=>{ch.port1.close();r();};ch.port2.postMessage(0);}else setTimeout(r,0);});/** Adds the tileable micro twill (normal + yarn albedo) on top of a material's own maps, through a 2nd UV set. */function withTwill(mat,twill,strength,albedo,fade){mat.onBeforeCompile=sh=>{sh.uniforms.kTwill={value:twill};sh.uniforms.kTwillN={value:strength};sh.uniforms.kTwillA={value:albedo};sh.vertexShader=sh.vertexShader.replace(\"#include <uv_pars_vertex>\",\"#include <uv_pars_vertex>\\nattribute vec2 detailUv;\\nvarying vec2 vDetailUv;\").replace(\"#include <uv_vertex>\",\"#include <uv_vertex>\\nvDetailUv = detailUv;\");sh.fragmentShader=sh.fragmentShader.replace(\"#include <uv_pars_fragment>\",\"#include <uv_pars_fragment>\\nvarying vec2 vDetailUv;\\nuniform sampler2D kTwill;\\nuniform float kTwillN;\\nuniform float kTwillA;\")// the twill's contrast rolls off as its wales approach the pixel limit (no moiré at small sizes)\n.replace(\"#include <map_fragment>\",\"#include <map_fragment>\\nvec4 kTw = texture2D(kTwill, vDetailUv);\\nfloat kMask = 1.0;\\n#ifdef USE_ROUGHNESSMAP\\nkMask = 1.0 - texture2D(roughnessMap, vRoughnessMapUv).b;\\n#endif\\nfloat kWpp = max(length(dFdx(vDetailUv)), length(dFdy(vDetailUv))) * \"+TWILL_WALES.toFixed(2)+\";\\nfloat kFade = kMask * (1.0 - 0.45 * smoothstep(\"+fade[0].toFixed(3)+\", \"+fade[1].toFixed(3)+\", kWpp)) * (1.0 - smoothstep(\"+fade[2].toFixed(3)+\", \"+fade[3].toFixed(3)+\", kWpp));\\ndiffuseColor.rgb *= 1.0 + kFade * kTwillA * (kTw.a * 2.0 - 1.0);\").replace(\"#include <normal_fragment_maps>\",\"#include <normal_fragment_maps>\\n{ vec3 dN = kTw.xyz * 2.0 - 1.0; dN.xy *= kTwillN * kFade; mat3 tbnD = getTangentFrame( - vViewPosition, normal, vDetailUv ); normal = normalize( tbnD * dN ); }\");};mat.customProgramCacheKey=()=>\"kais-twill\";return mat;}async function createCapModel(T,canvas,glyphs,glyphsBold,opts={}){const hi=opts.quality!==\"low\";const look={...LOOK,...opts.look||{}};const colors={...CAP_COLORS,...opts.colors||{}};// Ask for the WebGL2 context ourselves: no context → a clean rejection (three.js would log an error first)\nconst attrs={antialias:true,alpha:true,premultipliedAlpha:true,depth:true,stencil:false,powerPreference:\"high-performance\"};const gl=canvas.getContext(\"webgl2\",attrs);if(!gl)throw new Error(\"WebGL 2 not available\");const renderer=new T.WebGLRenderer({canvas,context:gl,antialias:true,alpha:true,premultipliedAlpha:true,powerPreference:\"high-performance\"});renderer.setClearColor(0,0);renderer.outputColorSpace=T.SRGBColorSpace;renderer.toneMapping=T.NeutralToneMapping!==undefined?T.NeutralToneMapping:T.ACESFilmicToneMapping;renderer.toneMappingExposure=look.exposure;renderer.shadowMap.enabled=true;renderer.shadowMap.type=T.PCFSoftShadowMap;const maxAniso=renderer.capabilities.getMaxAnisotropy();const scene=new T.Scene;const disposables=[];const track=x=>(disposables.push(x),x);let disposed=false;const disposeAll=()=>{if(disposed)return;disposed=true;for(const d of disposables)d&&d.dispose&&d.dispose();renderer.dispose();renderer.forceContextLoss&&renderer.forceContextLoss();};// a shader that fails to compile must not leave a blank cap: report it so the viewer falls back\nlet shaderError=false;if(renderer.debug){renderer.debug.onShaderError=()=>{shaderError=true;opts.onError&&opts.onError(\"shader compile error\");};}const step=async()=>{await breathe();if(opts.signal&&opts.signal.aborted)throw new Error(\"aborted\");};// everything after the context exists: any throw (abort, out-of-memory…) releases the context\ntry{return await build();}catch(err){disposeAll();throw err;}async function build(){// where the build time goes (exposed for profiling)\nconst timings=[];let tMark=performance.now();const mark=label=>{const n=performance.now();timings.push([label,Math.round(n-tMark)]);tMark=n;};const aniso=Math.min(16,maxAniso);const dataTex=(data,w,h,srgb,repeat=false)=>{const t=track(new T.DataTexture(data,w,h,T.RGBAFormat,T.UnsignedByteType));t.colorSpace=srgb?T.SRGBColorSpace:T.NoColorSpace;t.generateMipmaps=true;t.minFilter=T.LinearMipmapLinearFilter;t.magFilter=T.LinearFilter;t.anisotropy=aniso;t.wrapS=repeat?T.RepeatWrapping:T.ClampToEdgeWrapping;t.wrapT=repeat?T.RepeatWrapping:T.ClampToEdgeWrapping;t.needsUpdate=true;return t;};// upload inside the build (one texture per step), not all at once on the first visible frame\nconst upload=async t=>{renderer.initTexture(t);await step();};// ── environment: procedural HDR studio\nconst EW=512;const EH=256;const envTex=track(new T.DataTexture(studioHDR(EW,EH,T.DataUtils.toHalfFloat),EW,EH,T.RGBAFormat,T.HalfFloatType));envTex.mapping=T.EquirectangularReflectionMapping;envTex.magFilter=T.LinearFilter;envTex.minFilter=T.LinearFilter;envTex.needsUpdate=true;const pmrem=new T.PMREMGenerator(renderer);const envRT=track(pmrem.fromEquirectangular(envTex));envTex.dispose();pmrem.dispose();scene.environment=envRT.texture;if(\"environmentIntensity\"in scene)scene.environmentIntensity=look.env;mark(\"environment\");// one shadow-casting key in the direction of the environment's big softbox\nconst key=new T.DirectionalLight(new T.Color(look.keyColor),look.key);key.position.set(look.keyPos[0],look.keyPos[1],look.keyPos[2]);key.castShadow=true;key.shadow.mapSize.set(hi?2048:1024,hi?2048:1024);key.shadow.camera.left=-16;key.shadow.camera.right=16;key.shadow.camera.top=16;key.shadow.camera.bottom=-16;key.shadow.camera.near=1;key.shadow.camera.far=60;key.shadow.bias=-4e-4;key.shadow.normalBias=.04;scene.add(key);scene.add(key.target);await step();// ── surface chart, shared by geometry, decals and baked maps\nconst ch=buildCrownChart(hi?481:361,hi?161:121);mark(\"chart\");await step();// ── embroidery masks (needed by both the decals and the crown maps' contact shadows)\n// the embroidery is a regular-weight serif; satin stitching thickens its thin strokes\nconst gB=glyphs;void glyphsBold;const frontBox={x0:-7.6,x1:7.6,y0:2.1,y1:7.9};const ppcF=hi?110:70;const front=textMask(gB,FRONT_LINES,\"center\",frontBox,ppcF,EMB.stroke,EMB.arc);const sideSize=SIDE_TEXT.width/lineWidthEm(gB,\"kaisfc(dot)com\",0,SIDE_TEXT.condense);const sideLines=[{text:\"kaisfc(dot)com\",size:sideSize,condense:SIDE_TEXT.condense,track:0,cx:SIDE_TEXT.x0,base:SIDE_TEXT.base}];const sideBox={x0:0,x1:SIDE_TEXT.x0+SIDE_TEXT.width+.6,y0:.35,y1:SIDE_TEXT.base+1.1*sideSize};const ppcS=hi?130:80;const side=textMask(gB,sideLines,\"left\",sideBox,ppcS,EMB.stroke*.8,0);const frontBlur=boxBlur(front.cov,front.W,front.H,Math.round(ppcF*.06),2);const sideBlur=boxBlur(side.cov,side.W,side.H,Math.round(ppcS*.06),2);// the sampler below reaches the masks through this holder only, so they can be let go after the build\nconst emb={front,side,frontBlur,sideBlur};mark(\"text masks\");await step();const seamSide=S.sideAnchor;const sampleArr=(arr,W,H,x,y)=>{if(x<0||y<0||x>=W-1||y>=H-1)return 0;const x0=x|0;const y0=y|0;const fx=x-x0;const fy=y-y0;const k=y0*W+x0;return arr[k]*(1-fx)*(1-fy)+arr[k+1]*fx*(1-fy)+arr[k+W]*(1-fx)*fy+arr[k+W+1]*fx*fy;};// called for every crown texel: the row origins are cached per t, the result goes to a caller-owned buffer\nlet embT=-1;let raFront=0;let raSide=0;const embSample=(phi,t,sy,ra,out)=>{if(t!==embT){embT=t;raFront=chartAt(ch,ch.RA,0,t);raSide=chartAt(ch,ch.RA,seamSide,t);}if(phi>-60*DEG&&phi<60*DEG&&sy>frontBox.y0&&sy<frontBox.y1){const x=(ra-raFront-frontBox.x0)*ppcF;const y=(sy-frontBox.y0)*ppcF;out[0]=sampleArr(emb.front.cov,emb.front.W,emb.front.H,x,y);out[1]=sampleArr(emb.frontBlur,emb.front.W,emb.front.H,x,y);return;}if(phi>seamSide-.05&&phi<seamSide+82*DEG&&sy<sideBox.y1){const x=(ra-raSide-sideBox.x0)*ppcS;const y=(sy-sideBox.y0)*ppcS;out[0]=sampleArr(emb.side.cov,emb.side.W,emb.side.H,x,y);out[1]=sampleArr(emb.sideBlur,emb.side.W,emb.side.H,x,y);return;}out[0]=0;out[1]=0;};// ── textures\nconst TW=hi?1024:512;const twill=dataTex(await twillTile(TW,step),TW,TW,false,true);mark(\"twill\");await upload(twill);const CW=hi?4096:2048;const CHt=hi?1024:512;const crownTex=await crownMaps(CW,CHt,ch,{seams:S.seams,openW:S.openW,openT:S.openT,openTPerCm:openTPerCm(),openHalfWidth,openEdgeAt,eyelets:S.eyelets.map(p=>({phi:p*DEG,t:eyeletTAt(p)})),buttonR:S.buttonR,embroidery:{sample:embSample},colors:{fabric:colors.fabric,thread:colors.thread,hole:colors.hole,eyelet:colors.eyelet},seed:7},step);mark(\"crown maps\");const crownMap=dataTex(crownTex.albedo,CW,CHt,true);crownMap.wrapS=T.RepeatWrapping;const crownNormal=dataTex(crownTex.normal,CW,CHt,false);crownNormal.wrapS=T.RepeatWrapping;const crownOrm=dataTex(crownTex.orm,CW,CHt,false);crownOrm.wrapS=T.RepeatWrapping;await upload(crownMap);await upload(crownNormal);await upload(crownOrm);mark(\"crown upload\");const BW=hi?1536:1024// ≈ 85 texels per cm across the bill (the crown has 70)\n;const BH=hi?768:512;const brimTex=await brimMaps(BW,BH,{len:brimLen,point:brimPoint,dAlong:(psi,w)=>{const a=brimPoint(Math.max(-1,psi-.01),w);const b=brimPoint(Math.min(1,psi+.01),w);return Math.hypot(b[0]-a[0],b[1]-a[1],b[2]-a[2])/.02;},dAcross:psi=>brimLen(psi)*1.02,colors:{fabric:colors.fabric,thread:colors.brimThread},seed:17},step);mark(\"brim maps\");const brimMap=dataTex(brimTex.albedo,BW,BH,true);const brimNormal=dataTex(brimTex.normal,BW,BH,false);const brimOrm=dataTex(brimTex.orm,BW,BH,false);await upload(brimMap);await upload(brimNormal);await upload(brimOrm);const frontSatin=await satinMaps(front.cov,front.W,front.H,ppcF,colors.embroidery,3,step);const sideSatin=await satinMaps(side.cov,side.W,side.H,ppcS,colors.embroidery,4,step);mark(\"satin maps\");// ── the inside: how much of the room's light gets in, the inside face, the sweatband and strap tapes\nconst vis=await interiorVisibility(hi?72:48,hi?25:17,hi?64:40,step);const IW=hi?2048:1024;const IH=hi?512:256;const inner=await innerMaps(IW,IH,ch,{seams:S.seams,openT:S.openT,openTPerCm:openTPerCm(),openHalfWidth,eyelets:S.eyelets.map(p=>({phi:p*DEG,t:eyeletTAt(p)})),eyeR0:EYELET_R0,ao:vis,bandTop:SWEATBAND_H,buttonR:S.buttonR,colors:{fabric:colors.fabric,tape:colors.tape,thread:colors.thread,eyelet:colors.eyelet},seed:29},step);const innerMap=dataTex(inner.albedo,IW,IH,true);const innerNormal=dataTex(inner.normal,IW,IH,false);const innerOrm=dataTex(inner.orm,IW,IH,false);for(const x of[innerMap,innerNormal,innerOrm])x.wrapS=T.RepeatWrapping;await upload(innerMap);await upload(innerNormal);await upload(innerOrm);const TAPE_L=3.9// one tile along a tape: 13 stitches\n;const tapeTex=async(Wd,rows,folds,seed)=>{const m=await tapeMaps(TAPE_L,Wd,hi?90:60,rows,folds,{fabric:colors.fabric,thread:colors.thread},seed,step);const tx=[dataTex(m.albedo,m.W,m.H,true),dataTex(m.normal,m.W,m.H,false),dataTex(m.orm,m.W,m.H,false)];for(const x of tx){x.wrapS=T.RepeatWrapping;x.wrapT=T.ClampToEdgeWrapping;}return tx;};const bandTx=await tapeTex(SWEATBAND_H,[.45,SWEATBAND_H-.38],{lo:false,hi:true},37);const strapTx=await tapeTex(S.strapH,[.22,S.strapH-.22],{lo:true,hi:true},41);mark(\"inside + tapes\");// ── materials\nconst fabric=(map,normalMap,orm,side=T.FrontSide)=>track(withTwill(new T.MeshPhysicalMaterial({color:16777215,map,normalMap,normalScale:new T.Vector2(1,1),aoMap:orm,aoMapIntensity:1,roughnessMap:orm,roughness:1,metalness:0,sheen:look.sheen,sheenRoughness:look.sheenRoughness,sheenColor:new T.Color(SHEEN),side}),twill,look.twill,look.twillAlbedo,look.twillFade));const crownMat=fabric(crownMap,crownNormal,crownOrm);// the eyelet holes are real holes (map alpha). Alpha test only: alpha-to-coverage would leave alpha < 1 at\n// the rims in the canvas, and the page would show through as a light ring\ncrownMat.alphaTest=.5;const brimMat=fabric(brimMap,brimNormal,brimOrm);// small parts (binding, button, strap): the same woven twill, through their own UVs scaled to centimetres\n// (repU = 0: the geometry already carries its detailUv)\nconst plainTw=(geo,repU,repV,sideMode=T.FrontSide)=>{if(repU>0){const uvA=geo.getAttribute(\"uv\");const d=new Float32Array(uvA.count*2);for(let q=0;q<uvA.count;q++){d[q*2]=uvA.getX(q)*repU;d[q*2+1]=uvA.getY(q)*repV;}geo.setAttribute(\"detailUv\",new T.BufferAttribute(d,2));}return track(withTwill(new T.MeshPhysicalMaterial({color:new T.Color(colors.fabric),// a zero-strength normal map only switches on the tangent-space code the twill uses\nnormalMap:twill,normalScale:new T.Vector2(0,0),roughness:.93,metalness:0,sheen:look.sheen,sheenRoughness:look.sheenRoughness,sheenColor:new T.Color(SHEEN),side:sideMode}),twill,look.twill,look.twillAlbedo,look.twillFade));};// the inside face: reverse of the twill (flatter), tapes, eyelet backs; its darkness is in the map\nconst innerMat=track(withTwill(new T.MeshPhysicalMaterial({map:innerMap,normalMap:innerNormal,// three's tangent frame follows the (flipped) back-side normal, so the relief keeps its sign\nnormalScale:new T.Vector2(1,1),roughnessMap:innerOrm,roughness:1,metalness:0,sheen:look.sheen*.6,sheenRoughness:look.sheenRoughness,sheenColor:new T.Color(SHEEN),alphaTest:.5,side:T.BackSide}),twill,look.twill*.5,look.twillAlbedo*.45,look.twillFade));// folded, edge-stitched tapes (sweatband, strap): their own tiled map + the twill\nconst tapeMat=(tx,vertexColors)=>track(withTwill(new T.MeshPhysicalMaterial({map:tx[0],normalMap:tx[1],normalScale:new T.Vector2(1,1),aoMap:tx[2],roughnessMap:tx[2],roughness:1,metalness:0,vertexColors,sheen:look.sheen,sheenRoughness:look.sheenRoughness,sheenColor:new T.Color(SHEEN),side:T.DoubleSide}),twill,look.twill*.8,look.twillAlbedo*.8,look.twillFade));const bandMat=tapeMat(bandTx,true);const strapMat=tapeMat(strapTx,false);const cap=new T.Group;cap.position.set(0,-S.pivotY,-S.pivotZ);const turn=new T.Group;turn.add(cap);scene.add(turn);const add=(geo,mat,cast=true,receive=true)=>{track(geo);const m=new T.Mesh(geo,mat);m.castShadow=cast;m.receiveShadow=receive;cap.add(m);return m;};// crown shell (outside) + lining (inside, slightly in)\nadd(await crownGeometry(T,ch,hi?84:48,hi?150:84,0,step),crownMat);mark(\"crown geometry\");// the inside face, 0.8 mm in (the fabric's thickness), with the same panel strips and holes\n// It casts the shadows of the crown onto the inside: three.js draws only a material's far faces into the\n// shadow map, so the outer shell alone lets the key light straight through onto the inside of the dome\nadd(await crownGeometry(T,ch,hi?40:24,hi?72:44,-.08,step,false),innerMat,true,true);// sweatband along the rim\nadd(sweatbandGeometry(T,ch,hi?260:150,vis),bandMat,false,true);// the eyelet holes: satin-lined walls through the fabric\n{const wallMat=track(new T.MeshStandardMaterial({color:new T.Color(colors.eyelet).multiplyScalar(.42),roughness:.85,side:T.DoubleSide}));add(mergeGeometries(T,S.eyelets.map(p=>eyeletWallGeometry(T,ch,p*DEG,eyeletTAt(p),EYELET_R0,20))),wallMat,false,true);}// label, sewn in at the rim on the wearer's right, next to the strap (photos 04, 12): black woven, white motif\n{const LW=64;const LH=144;const d8=new Uint8Array(LW*LH*4);for(let y=0;y<LH;y++)for(let x=0;x<LW;x++){const o=(y*LW+x)*4;const weave=(x+(y>>1)&1)*7+((y&3)===0?4:0);// two columns of stacked woven bars (an abstract mark, no lettering)\nconst col=x>10&&x<30?0:x>34&&x<54?1:-1;const yy=y-22;const bar=col>=0&&yy>0&&yy<100&&yy%20<13&&!(col===1&&yy>60);const border=x<3||x>LW-4||y<3||y>LH-4;const v=bar?190:border?36:14;d8[o]=Math.min(255,v+weave);d8[o+1]=Math.min(255,v+weave);d8[o+2]=Math.min(255,v+weave+2);d8[o+3]=255;}const phiL=-140*DEG;const R=crownFrame(phiL,.05).sphi;const g=gridGeometry(T,4,12,(i,j)=>{const phi=phiL+(i/4-.5)*1.1/R;const v=.25+2.4*j/12;const t=tAtSY(ch,phi,v);const off=-(.1+.13*Math.pow(v/SWEATBAND_H,1.6))-.03;return{p:crownPoint(phi,t,off,false),uv:[1-i/4,j/12]};});const dark=.3+.7*vis(phiL,.1);add(g,track(new T.MeshStandardMaterial({map:dataTex(d8,LW,LH,true),color:new T.Color(dark,dark,dark),roughness:.62,side:T.DoubleSide})),false,true);}// the head space: a real cap is seen on a head or a stand, so its inside reads dark, never as a window onto\n// the background (through the eyelets and the back opening). A dark disc across the head opening, seen\n// from above only.\n{// a fan from the centre to the crown's own rim line (0.5 mm inside the fabric): no gap to see through\nconst N=144;const pos=[0,.02,0];const cl=[.7,.7,.7]// deepest in the middle, a little of the band's light towards the rim\n;for(let k=0;k<=N;k++){const q=crownPoint(-Math.PI+2*Math.PI*k/N,.002,-.05,false);pos.push(q[0],.02,q[2]);cl.push(1,1,1);}const idx=[];for(let k=1;k<=N;k++)idx.push(0,k,k+1)// counter-clockwise seen from above\n;const g=new T.BufferGeometry;g.setAttribute(\"position\",new T.Float32BufferAttribute(pos,3));g.setIndex(idx);g.setAttribute(\"color\",new T.Float32BufferAttribute(cl,3));const c=new T.Color(colors.fabric).multiplyScalar(.16);add(g,track(new T.MeshBasicMaterial({color:c,vertexColors:true,side:T.FrontSide})),false,false);}// the washer of the button's shank, inside the apex\n{// bottom (the face we see from inside) → top: LatheGeometry winds outwards for this order\nconst prof=[[0,-.08],[.12,-.075],[.22,-.06],[.26,-.04],[.25,-.015],[.2,0],[0,0]].map(([r,y])=>new T.Vector2(r,y));const g=new T.LatheGeometry(prof,28);const dark=.3+.7*vis(0,.985);const m=add(g,track(new T.MeshStandardMaterial({color:new T.Color(colors.rivet).multiplyScalar(dark),metalness:1,roughness:.32})),false,true);const q=crownPoint(0,.999,-.08,false);m.position.set(q[0],q[1],q[2]);}await step();add(brimGeometry(T,hi?220:120,hi?56:28),brimMat);// binding folded over the back opening's cut edge, with its row of topstitching (photo 04)\n{const bd=bindingGeometry(T,hi?200:120,vis);// one stitch row 5 mm from the fold on the outside, the same row seen on the inside\nconst rowsV=[bd.foldAt[0]-.47,bd.foldAt[1]+.47];const bm=await tapeMaps(TAPE_L,bd.width,hi?90:60,rowsV,{lo:false,hi:false,at:[(bd.foldAt[0]+bd.foldAt[1])/2]},{fabric:colors.fabric,thread:colors.thread},43,step);const tx=[dataTex(bm.albedo,bm.W,bm.H,true),dataTex(bm.normal,bm.W,bm.H,false),dataTex(bm.orm,bm.W,bm.H,false)];for(const x of tx){x.wrapS=T.RepeatWrapping;x.wrapT=T.ClampToEdgeWrapping;}const uvA=bd.g.getAttribute(\"uv\");for(let q=0;q<uvA.count;q++)uvA.setXY(q,uvA.getX(q)/TAPE_L,uvA.getY(q)/bd.width);add(bd.g,tapeMat(tx,true));}// top button: a covered mushroom 1.3 cm across, the twill wrapped over it and gathered underneath\n{const g=buttonGeometry(T,hi?56:32);const mat=track(withTwill(new T.MeshPhysicalMaterial({color:new T.Color(colors.fabric),normalMap:twill,normalScale:new T.Vector2(0,0),vertexColors:true,roughness:.93,metalness:0,sheen:look.sheen,sheenRoughness:look.sheenRoughness,sheenColor:new T.Color(SHEEN)}),twill,look.twill*.5,look.twillAlbedo*.7,look.twillFade));const m=add(g,mat);const apex=crownPoint(0,1,0);m.position.set(apex[0],apex[1]-.02,apex[2]);}// strap across the opening, brass slide on the wearer's right, folded tail\n{const band=(phiA,phiB,y0,y1,off,n,place)=>gridGeometry(T,n,4,(i,j)=>{const phi=phiA+(phiB-phiA)*(i/n);const y=y0+(y1-y0)*(j/4);const o=typeof off===\"number\"?off:off(phi);return{p:place(phi,y,o),uv:[i/n,j/4]};});// each strap piece: the edge-stitched tape map along its length, the twill at its physical size, and\n// rolled edges (thin tubes) so it has thickness where it turns edge-on\nconst strap=(phiA,phiB,y0,y1,off,n=60,place=onWall)=>{const g=band(phiA,phiB,y0,y1,off,n,place);const pm=(phiA+phiB)/2;const len=Math.abs(phiB-phiA)*crownFrame(pm,tAtHeight(pm,(y0+y1)/2)).sphi// cm along the wall at mid height\n;const uvA=g.getAttribute(\"uv\");const d=new Float32Array(uvA.count*2);for(let q=0;q<uvA.count;q++){const u=uvA.getX(q)*len;const v=uvA.getY(q)*Math.abs(y1-y0);uvA.setX(q,u/TAPE_L);d[q*2]=u/TWILL_TILE_CM;d[q*2+1]=v/TWILL_TILE_CM;}g.setAttribute(\"detailUv\",new T.BufferAttribute(d,2));add(g,strapMat);for(const y of[y0,y1]){const pts=[];for(let k=0;k<=n;k++){const phi=phiA+(phiB-phiA)*k/n;const o=typeof off===\"number\"?off:off(phi);const q=place(phi,y,o);pts.push(new T.Vector3(q[0],q[1],q[2]));}const tube=new T.TubeGeometry(new T.CatmullRomCurve3(pts),n,.045,6,false);const uvA=tube.getAttribute(\"uv\");const d=new Float32Array(uvA.count*2);for(let q=0;q<uvA.count;q++){d[q*2]=uvA.getX(q)*len/TWILL_TILE_CM;d[q*2+1]=uvA.getY(q)*2*Math.PI*.045/TWILL_TILE_CM;}tube.setAttribute(\"detailUv\",new T.BufferAttribute(d,2));strapEdges.push(tube);}};const strapEdges=[];const B=S.buckleAt+2*Math.PI// continue past +π\n;const a0=Math.PI-S.openW-.1;const a1=Math.PI+S.openW+.06;// across the opening the band hangs upright from the rim line (that is where its top edge sits in the 11\n// back views; the crown's bulge above the rim is cloth, and there is none there). From the middle of the\n// opening to the slide it eases onto the wall, so over the cloth it lies on it and enters the slide\nconst upright=(phi,y,o)=>{const b=crownBase(phi,0);const f=crownFrame(phi,0);return[b[0]+f.n[0]*o,y,b[2]+f.n[2]*o];};const mainPlace=(phi,y,o)=>{const w=smooth(Math.PI+.35*S.openW,Math.PI+S.openW,phi);if(w<=0)return upright(phi,y,o);const u=upright(phi,y,o);const v=onWall(phi,y,o);return[u[0]+(v[0]-u[0])*w,u[1]+(v[1]-u[1])*w,u[2]+(v[2]-u[2])*w];};strap(a0,B,.12,.12+S.strapH,phi=>-.2+.4*smooth(a0,a1,phi),80,mainPlace);strap(B-.3,B,.2,.04+S.strapH,.3,20);// the short tab that holds the slide, sewn on beside the opening\nstrap(-Math.PI+S.openW-.05,S.buckleAt,.14,.1+S.strapH,.12,12);// all six rolled edges in one mesh; plainTw only needs its detailUv, already set per tube\n{const g=mergeGeometries(T,strapEdges);add(g,plainTw(g,0,0));}// brass slide (photo 04): a plate bent into a C around the strap, satin-brushed along the strap\nconst BR=128;const brushed=new Uint8Array(BR*BR*4);{// fine scratches: a 1D random profile across the brushing, lightly smoothed (tileable)\nconst raw=new Float32Array(BR);for(let x=0;x<BR;x++)raw[x]=hash2(x,0,92)-.5+.5*(hash2(x>>3,1,93)-.5);const hB=new Float32Array(BR);for(let x=0;x<BR;x++)hB[x]=.5*raw[x]+.25*(raw[(x+1)%BR]+raw[(x-1+BR)%BR]);for(let y=0;y<BR;y++)for(let x=0;x<BR;x++){const xm=(x-1+BR)%BR;const xp=(x+1)%BR;const gx=(hB[xp]-hB[xm])*.9;const il=1/Math.sqrt(gx*gx+1);const o=(y*BR+x)*4;brushed[o]=(-gx*il*.5+.5)*255|0;brushed[o+1]=128;brushed[o+2]=(il*.5+.5)*255|0;brushed[o+3]=255;}}const brushTex=dataTex(brushed,BR,BR,false,true);brushTex.repeat.set(3,3);const brass=track(new T.MeshPhysicalMaterial({color:new T.Color(colors.brass),metalness:1,roughness:.28,normalMap:brushTex,normalScale:new T.Vector2(.35,.35),anisotropy:.55,envMapIntensity:1.7}));const ySl=.12+S.strapH/2;const tSl=tAtHeight(S.buckleAt,ySl);const f=crownFrame(S.buckleAt,tSl);const bp=crownPoint(S.buckleAt,tSl,.04,false)// its rounded back corners clear the cloth (measured: +0.05 mm at the worst corner)\n;const sw=1.15// along the strap\n;const sh=S.strapH+.22// across it\n;const dep=.44// from the back lips to the front face\n;const th=.045// sheet thickness\n;const rr=.07// bend radius\n;// C profile in (x = depth outwards, y = height), traced once around as a closed outline; the lips wrap\n// round the back of the strap (the cap side), the face sits over it\nconst shape=new T.Shape;const yb=-sh/2;const yt=sh/2;const lip=.22// how far the bent-over lips reach behind the strap\n;shape.moveTo(0,yb+lip);shape.lineTo(0,yb+rr);shape.quadraticCurveTo(0,yb,rr,yb);shape.lineTo(dep-rr,yb);shape.quadraticCurveTo(dep,yb,dep,yb+rr);shape.lineTo(dep,yt-rr);shape.quadraticCurveTo(dep,yt,dep-rr,yt);shape.lineTo(rr,yt);shape.quadraticCurveTo(0,yt,0,yt-rr);shape.lineTo(0,yt-lip);shape.lineTo(th,yt-lip);shape.lineTo(th,yt-rr);shape.quadraticCurveTo(th,yt-th,rr,yt-th);shape.lineTo(dep-rr,yt-th);shape.quadraticCurveTo(dep-th,yt-th,dep-th,yt-rr);shape.lineTo(dep-th,yb+rr);shape.quadraticCurveTo(dep-th,yb+th,dep-rr,yb+th);shape.lineTo(rr,yb+th);shape.quadraticCurveTo(th,yb+th,th,yb+rr);shape.lineTo(th,yb+lip);shape.lineTo(0,yb+lip);const gS=new T.ExtrudeGeometry(shape,{depth:sw,steps:12,bevelEnabled:true,bevelThickness:.015,bevelSize:.012,bevelSegments:2,curveSegments:8});gS.rotateY(-Math.PI/2)// extrusion → along the strap (x), profile depth → outwards (z)\n;gS.translate(sw/2,0,0);// bent round the cap like the strap it rides on (same radius), so the face is not a mirror-flat\n// plane and takes the studio's softboxes as a gradient; the strap keeps its clearance inside\n{const Rb=crownFrame(S.buckleAt,tSl).sphi;const pa=gS.getAttribute(\"position\");for(let q=0;q<pa.count;q++){const x=pa.getX(q);pa.setZ(q,pa.getZ(q)-x*x/(2*Rb));}gS.computeVertexNormals();}const slide=new T.Mesh(track(gS),brass);slide.castShadow=true;slide.receiveShadow=true;const frame=new T.Group;frame.add(slide);frame.position.set(bp[0],bp[1],bp[2]);frame.lookAt(bp[0]+f.n[0],bp[1]+f.n[1],bp[2]+f.n[2]);cap.add(frame);}await step();// ── embroidery decals: satin stitches with anisotropic sheen along the threads\nconst embMat=(m,W,H)=>{const map=dataTex(m.rgba,W,H,true);const nm=dataTex(m.normal,W,H,false);const an=dataTex(m.aniso,W,H,false);return track(new T.MeshPhysicalMaterial({map,normalMap:nm,normalScale:new T.Vector2(1,1),roughness:.5,anisotropy:look.embAniso,anisotropyMap:an,transparent:true,depthWrite:false,polygonOffset:true,polygonOffsetFactor:-2,polygonOffsetUnits:-2}));};{const tA=Math.max(0,tAtHeightChart(ch,0,frontBox.y0)-.03);const tB=Math.min(.97,tAtHeightChart(ch,55*DEG,frontBox.y1)+.03);const m=add(decalGeometry(T,ch,-58*DEG,58*DEG,tA,tB,hi?232:120,hi?64:36,.05,frontBox,0),embMat(frontSatin,front.W,front.H),false,true);m.renderOrder=2;}{const tB=Math.min(.6,tAtHeightChart(ch,seamSide+20*DEG,sideBox.y1)+.04);const m=add(decalGeometry(T,ch,seamSide,seamSide+80*DEG,0,tB,hi?160:90,hi?30:20,.045,sideBox,seamSide),embMat(sideSatin,side.W,side.H),false,true);m.renderOrder=2;}await step();mark(\"parts + decals\");// camera: fixed elevation; the frustum is fitted to the full-turn bounds every resize\nconst camera=new T.PerspectiveCamera(20,1,10,200);camera.position.set(0,S.dist*Math.sin(S.elev),S.dist*Math.cos(S.elev));camera.lookAt(0,0,0);camera.updateMatrixWorld();key.target.position.set(0,0,0);// compile every program now (parallel where the driver allows) instead of stalling the first frame\nif(renderer.compileAsync)await renderer.compileAsync(scene,camera);await step();for(const d of disposables)if(d&&d.isTexture&&d.image&&d.image.data)renderer.initTexture(d);await step();// warm-up frame on the small default backing store: whatever is still lazy is paid here, before the fade-in\nrenderer.render(scene,camera);await step();emb.front=emb.side=emb.frontBlur=emb.sideBlur=null;// the GPU holds every texture now: drop the CPU-side pixel arrays (≈ 80 MB in high quality). Nothing\n// re-uploads them: a lost context disposes the whole model and the viewer falls back to the drawing.\nfor(const d of disposables)if(d&&d.isTexture&&d.image&&d.image.data){renderer.initTexture(d);d.image.data=null;}mark(\"compile + upload + warm-up\");if(shaderError)throw new Error(\"shader compile error\");let W=1;let Hh=1;const fit=()=>{const aspect=W/Hh;const b=MODEL_BOUNDS;let hw=b.w/2;let hh=b.h/2;if(hw/hh>aspect)hh=hw/aspect;else hw=hh*aspect;const cx=(b.minX+b.maxX)/2;const cy=(b.minY+b.maxY)/2;const n=camera.near;camera.projectionMatrix.makePerspective((cx-hw)*n,(cx+hw)*n,(cy+hh)*n,(cy-hh)*n,n,camera.far);camera.projectionMatrixInverse.copy(camera.projectionMatrix).invert();};return{render(phase){turn.rotation.y=phase*Math.PI*2;renderer.render(scene,camera);},resize(w,h,dpr){W=Math.max(1,w);Hh=Math.max(1,h);renderer.setPixelRatio(dpr);renderer.setSize(W,Hh,false);fit();},dispose:disposeAll};}}return{createCapModel,MODEL_BOUNDS};})();/** easeOutQuint: fast start, long settle (the cap is \"handed over\" rather than stopped). */const easeOutQuint=k=>1-Math.pow(1-k,5);// ─── three.js on demand (one module per URL, shared by every instance) ───\nconst threeModules=new Map;function loadThree(url){let p=threeModules.get(url);if(!p){// resolve against the page, not the component's own module URL\nconst abs=typeof document!==\"undefined\"?new URL(url,document.baseURI).href:url;p=import(/* webpackIgnore: true *//* @vite-ignore */abs).then(m=>{const T=m&&m.WebGLRenderer?m:m&&m.default;if(!T||!T.WebGLRenderer)throw new Error(\"not a three.js module: \"+url);return T;});p.catch(()=>threeModules.delete(url))// a failed fetch may be retried by a later mount\n;threeModules.set(url,p);}return p;}/** After this long without a 3D frame the line drawing takes over for good. */const MODEL_TIMEOUT_MS=15e3;/** Slow connection: the line drawing shows faintly until the 3D cap is ready, then hands over. */const SKETCH_AFTER_MS=1400;/** Keep the GL backing store under ~3.2 MP (a 1440 px wide cap at DPR 2 is ~2.6 MP). */const GL_PIXEL_BUDGET=32e5;function pickQuality(q){if(q===\"high\"||q===\"low\")return q;if(!isBrowser)return\"high\";const nav=navigator;const coarse=typeof matchMedia===\"function\"&&matchMedia(\"(pointer: coarse)\").matches;const small=Math.min(screen.width||0,screen.height||0)<520;const weak=(nav.hardwareConcurrency||8)<=4||(nav.deviceMemory||8)<=3;return coarse&&small||weak?\"low\":\"high\";}/** Glide time constant after a fling: 95% of the extra speed is gone after 3·τ ≈ 1.8 s. */const GLIDE_TAU=.6;/** Browsers accept playbackRate in [0.0625, 16]; outside it the video is driven by seeking instead. */const MIN_RATE=.0625;const MAX_RATE=16;/** Pick the smallest srcSet candidate that still covers the target width (Framer ResponsiveImage). */function pickSrc(item,targetW){const base=srcOf(item);const set=item&&typeof item.srcSet===\"string\"?item.srcSet:\"\";if(!set||!(targetW>0))return base;const cands=set.split(\",\").map(c=>c.trim().split(/\\s+/)).map(([url,w])=>({url,w:parseInt(w,10)})).filter(c=>c.url&&c.w>0).sort((a,b)=>a.w-b.w);const fit=cands.find(c=>c.w>=targetW);return fit?fit.url:base;}const CapViewer=/*#__PURE__*/React.forwardRef(function CapViewer({cap,animate,reduced,onDegrees,onFirstFrame,hold},apiRef){const wrapRef=useRef(null);const canvasRef=useRef(null);const videoRef=useRef(null);const size=useElementSize(wrapRef);const visible=useRef(true);const firstFrameSent=useRef(false);const sign=cap.direction===\"left\"?-1:1;const autoSpeed=reduced||!animate||hold||!(cap.period>0)?0:sign/cap.period;const motionState=useRef({phase:wrap01(cap.startAngle/360),vel:autoSpeed,dragging:false,pointerId:-1,samples:[],lastX:0,lastDeg:-1,script:null});const speedRef=useRef(autoSpeed);speedRef.current=autoSpeed;const renderRef=useRef(()=>{});const animateRef=useRef(animate);animateRef.current=animate;const videoState=useRef({duration:0,seeking:false,cruising:false,lastPlayTry:0});// Frame sources, keyed by content (a new-but-identical array from Framer must not reload 72 images)\nconst frameItems=cap.source===\"frames\"?(cap.frames||[]).filter(f=>srcOf(f)):[];const frameKey=cap.source!==\"frames\"?\"\":frameItems.length>1?\"a|\"+frameItems.map(srcOf).join(\"|\"):cap.framesPattern&&/\\{n+\\}/.test(cap.framesPattern)&&cap.frameCount>1?`p|${cap.framesPattern}|${Math.round(cap.frameCount)}|${Math.round(cap.frameStart)}`:\"\";const frameItemsRef=useRef(frameItems);frameItemsRef.current=frameItems;const storeRef=useRef(null);// 3D model: built once the viewer has a size (hidden breakpoint twins never create a GL context)\nconst glHostRef=useRef(null);const modelRef=useRef(null);const[modelState,setModelState]=useState(\"loading\");// a failure belongs to one (three.js URL, quality) pair: editing either in Framer tries again\nconst modelKey=(cap.threeUrl||DEFAULT_THREE_URL)+\"|\"+cap.quality;const[failedKey,setFailedKey]=useState(null);const model=failedKey===modelKey?\"failed\":modelState;const[sketch,setSketch]=useState(false);const sketchRef=useRef(false);sketchRef.current=sketch&&model!==\"ready\";const modelDirty=useRef(true);const lastModelPhase=useRef(NaN);const wantModel=cap.source===\"model\";// latched: a breakpoint twin that gets hidden keeps its model instead of rebuilding it later\nconst[sized,setSized]=useState(false);useEffect(()=>{if(size.w>0&&size.h>0)setSized(true);},[size.w,size.h]);// switching the source away and back retries a failed model\nuseEffect(()=>{if(!wantModel)setFailedKey(null);},[wantModel]);const mode=wantModel?model===\"failed\"?\"placeholder\":\"model\":cap.source===\"frames\"&&frameKey?\"frames\":cap.source===\"video\"&&cap.video?\"video\":cap.source===\"image\"&&srcOf(cap.image)?\"image\":\"placeholder\";const onFirstFrameRef=useRef(onFirstFrame);onFirstFrameRef.current=onFirstFrame;// stable identity: an inline onFirstFrame prop must not rebuild the 3D model on every parent render\nconst signalFirstFrame=useCallback(()=>{if(firstFrameSent.current)return;firstFrameSent.current=true;onFirstFrameRef.current&&onFirstFrameRef.current();},[]);useEffect(()=>{if(mode!==\"frames\")return;const el=wrapRef.current;const dpr=Math.min(2,isBrowser&&window.devicePixelRatio||1);const targetW=Math.round((el&&el.offsetWidth||800)*dpr);const urls=frameKey.startsWith(\"a|\")?frameItemsRef.current.map(f=>pickSrc(f,targetW)):expandPattern(cap.framesPattern,Math.round(cap.frameCount),Math.round(cap.frameStart));const store=new FrameStore(urls,s=>{if(s.loaded===1)signalFirstFrame();// no animation loop in the Framer canvas: draw as frames arrive\nif(!animateRef.current)renderRef.current();});storeRef.current=store;return()=>{store.dispose();if(storeRef.current===store)storeRef.current=null;};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[mode,frameKey,signalFirstFrame]);useEffect(()=>{if(mode===\"placeholder\")signalFirstFrame();if(mode===\"image\")signalFirstFrame();},[mode,signalFirstFrame]);const sizeModel=useCallback(()=>{const m=modelRef.current;const el=wrapRef.current;if(!m||!el)return;const w=el.offsetWidth;const h=el.offsetHeight;if(!w||!h)return;let dpr=Math.min(2,isBrowser&&window.devicePixelRatio||1);if(w*h*dpr*dpr>GL_PIXEL_BUDGET)dpr=Math.sqrt(GL_PIXEL_BUDGET/(w*h));m.resize(w,h,dpr);},[]);// Build the 3D cap: fetch three.js, build geometry + textures in small steps, fade it in.\n// Any failure (no WebGL, blocked CDN, shader error, lost context, timeout) falls back to the line drawing.\nuseEffect(()=>{if(!wantModel||!sized||failedKey===modelKey)return;const host=glHostRef.current;if(!host)return;// a fresh canvas per build: a context that was released can never be revived on the same element\nconst canvas=document.createElement(\"canvas\");canvas.setAttribute(\"data-kais\",\"gl\");canvas.setAttribute(\"aria-hidden\",\"true\");canvas.style.cssText=\"position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none\";host.appendChild(canvas);const ac=new AbortController;const key=modelKey;let alive=true;let failed=false;let built=null;setModelState(\"loading\");const release=()=>{canvas.removeEventListener(\"webglcontextlost\",onLost);if(built){if(modelRef.current===built)modelRef.current=null;const b=built;built=null;b.dispose();}};const fail=why=>{if(!alive||failed)return;failed=true;console.warn(\"[KAIS Cap Store] 3D cap unavailable (\"+why+\"): showing the line drawing\");canvas.removeEventListener(\"webglcontextlost\",onLost)// the abort below releases the context\n;ac.abort();release();setFailedKey(key);};let timer=0;const arm=ms=>{timer=setTimeout(()=>{if(built)return;// a hidden tab throttles everything: only give up on time the visitor actually waited\nif(typeof document!==\"undefined\"&&document.hidden)return arm(1e3);fail(\"timed out\");},ms);};arm(MODEL_TIMEOUT_MS);const sketchTimer=setTimeout(()=>alive&&setSketch(true),SKETCH_AFTER_MS);function onLost(e){e.preventDefault();fail(\"WebGL context lost\");}canvas.addEventListener(\"webglcontextlost\",onLost);loadThree(cap.threeUrl||DEFAULT_THREE_URL).then(T=>{if(ac.signal.aborted)throw new Error(\"aborted\");return Cap3D.createCapModel(T,canvas,KAIS_GLYPHS,KAIS_GLYPHS,{quality:pickQuality(cap.quality),signal:ac.signal,onError:why=>fail(why)});}).then(m=>{if(!alive||ac.signal.aborted||failed)return m.dispose();built=m;modelRef.current=m;sizeModel();m.render(motionState.current.phase);lastModelPhase.current=motionState.current.phase;modelDirty.current=false;setModelState(\"ready\");signalFirstFrame();}).catch(err=>{if(!ac.signal.aborted)fail(err&&err.message||\"error\");});return()=>{alive=false;clearTimeout(timer);clearTimeout(sketchTimer);ac.abort();release();canvas.remove();};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[wantModel,sized,modelKey,failedKey===modelKey,sizeModel,signalFirstFrame]);// GL backing store follows the viewer box\nuseEffect(()=>{if(model!==\"ready\"||!size.w||!size.h)return;sizeModel();modelDirty.current=true;if(!animateRef.current)renderRef.current();},[model,size.w,size.h,sizeModel]);// No loop on the Framer canvas: draw the faint line drawing once when it is due\nuseEffect(()=>{if(sketch&&!animateRef.current)renderRef.current();},[sketch]);const reducedRef=useRef(reduced);reducedRef.current=reduced;React.useImperativeHandle(apiRef,()=>({kick:v=>{motionState.current.vel+=v*(sign||1);},present:(deg,turns=1,ms=2600)=>{const s=motionState.current;const target=wrap01(deg/360);if(!animateRef.current||reducedRef.current||!(ms>0)){// no motion: the cap is simply there, at the pose\n    s.script=null;s.vel=0;s.phase=target;renderRef.current();return;}// always forward in the cruise direction, so the turn reads as a continuation, never a reversal\n    const total=sign>=0?wrap01(target-s.phase)+turns:-(wrap01(s.phase-target)+turns);s.script={t0:performance.now(),ms,from:s.phase,total};}}));// Start angle is live while nothing animates (Framer canvas, reduced motion)\nuseEffect(()=>{if(animate&&!reduced)return;motionState.current.phase=wrap01(cap.startAngle/360);motionState.current.vel=0;const v=videoRef.current;const vs=videoState.current;if(v&&vs.duration>0)v.currentTime=motionState.current.phase*vs.duration;renderRef.current();},[cap.startAngle,animate,reduced]);// Canvas backing store follows the element size (DPR capped at 2)\nconst dprRef=useRef(1);useEffect(()=>{const c=canvasRef.current;if(!c||!size.w||!size.h)return;const dpr=Math.min(2,isBrowser&&window.devicePixelRatio||1);dprRef.current=dpr;c.width=Math.round(size.w*dpr);c.height=Math.round(size.h*dpr);},[size.w,size.h,mode]);// Pause work when off-screen\nuseEffect(()=>{const el=wrapRef.current;if(!el||typeof IntersectionObserver===\"undefined\")return;const io=new IntersectionObserver(([e])=>visible.current=e.isIntersecting,{threshold:0});io.observe(el);return()=>io.disconnect();},[]);// Video: native playback while cruising (when the rate is in range), seek-driven otherwise\nuseEffect(()=>{const v=videoRef.current;if(mode!==\"video\"||!v)return;const vs=videoState.current;vs.cruising=false;v.muted=true// property, not just attribute: iOS autoplay needs it before play()\n;const onMeta=()=>{vs.duration=v.duration||0;if(vs.duration>0)v.currentTime=motionState.current.phase*vs.duration;};const onSeeked=()=>vs.seeking=false;const onFrame=()=>signalFirstFrame();v.addEventListener(\"loadedmetadata\",onMeta);v.addEventListener(\"seeked\",onSeeked);v.addEventListener(\"loadeddata\",onFrame);if(v.readyState>=1)onMeta();if(v.readyState>=2)onFrame();return()=>{v.removeEventListener(\"loadedmetadata\",onMeta);v.removeEventListener(\"seeked\",onSeeked);v.removeEventListener(\"loadeddata\",onFrame);};},[mode,cap.video,signalFirstFrame]);// The loop\nuseEffect(()=>{let raf=0;let last=performance.now();const render=()=>{const s=motionState.current;const c=canvasRef.current;if(mode===\"model\"){const m=modelRef.current;if(m){// a still cap (reduced motion, Turn = 0, Framer canvas) is not re-rendered 60 times a second\nif(modelDirty.current||s.phase!==lastModelPhase.current){m.render(s.phase);lastModelPhase.current=s.phase;modelDirty.current=false;}}else if(sketchRef.current&&c){const ctx=c.getContext(\"2d\");if(ctx)drawPlaceholderCap(ctx,c.width,c.height,s.phase,cap.lineColor,dprRef.current);}}else if(mode===\"placeholder\"&&c){const ctx=c.getContext(\"2d\");if(ctx)drawPlaceholderCap(ctx,c.width,c.height,s.phase,cap.lineColor,dprRef.current);}else if(mode===\"frames\"&&c&&storeRef.current){const ctx=c.getContext(\"2d\");const store=storeRef.current;const n=store.urls.length;if(ctx&&n){const f=s.phase*n;const i0=Math.floor(f)%n;const i1=(i0+1)%n;const t=f-Math.floor(f);const a=store.imgs[i0];const b=store.imgs[i1];ctx.setTransform(1,0,0,1,0,0);ctx.clearRect(0,0,c.width,c.height);ctx.imageSmoothingQuality=\"high\";if(a&&b&&cap.frameBlend&&t>.001){// premultiplied linear blend: correct for transparent frames too\nctx.globalCompositeOperation=\"lighter\";drawContain(ctx,a,c.width,c.height,1-t);drawContain(ctx,b,c.width,c.height,t);ctx.globalCompositeOperation=\"source-over\";}else{const img=t<.5?a||store.nearest(i0):b||store.nearest(i1);if(img)drawContain(ctx,img,c.width,c.height,1);}ctx.globalAlpha=1;}}if(onDegrees){const deg=Math.round(wrap01(s.phase)*360)%360;if(deg!==s.lastDeg){s.lastDeg=deg;onDegrees(deg);}}};renderRef.current=render;const tick=now=>{const dt=Math.min(.05,(now-last)/1e3);last=now;const s=motionState.current;const auto=speedRef.current;if(s.script&&!s.dragging){const sc=s.script;const k=Math.min(1,Math.max(0,(now-sc.t0)/sc.ms));s.phase=wrap01(sc.from+sc.total*easeOutQuint(k));// the curve's own speed, so a grab mid-turn carries on from where the cap really is\ns.vel=k<1?sc.total*5*Math.pow(1-k,4)/(sc.ms/1e3):0;if(k>=1)s.script=null;}else if(!s.dragging){s.vel+=(auto-s.vel)*(1-Math.exp(-dt/GLIDE_TAU))// calm glide back to cruise speed\n;s.phase=wrap01(s.phase+s.vel*dt);}if(mode===\"video\"){const v=videoRef.current;const vs=videoState.current;if(v&&vs.duration>0){const rate=vs.duration*auto;const nativeOk=auto>0&&rate>=MIN_RATE&&rate<=MAX_RATE;const cruising=nativeOk&&!s.dragging&&Math.abs(s.vel-auto)<Math.max(.004,auto*.03);if(cruising){if(!vs.cruising){vs.cruising=true;v.playbackRate=rate;v.play().catch(()=>{});}else if(v.paused&&now-vs.lastPlayTry>1e3){// autoplay can be refused (iOS low-power mode): keep asking, quietly\nvs.lastPlayTry=now;v.play().catch(()=>{});}s.phase=wrap01(v.currentTime/vs.duration);}else{if(vs.cruising||!v.paused){vs.cruising=false;v.pause();}if(!vs.seeking){const target=wrap01(s.phase)*vs.duration;if(Math.abs(target-v.currentTime)>1/120){vs.seeking=true;v.currentTime=target;}}}}}if(visible.current)render();raf=requestAnimationFrame(tick);};if(animate)raf=requestAnimationFrame(tick);else render();return()=>cancelAnimationFrame(raf);},[mode,animate,cap.lineColor,cap.frameBlend,onDegrees,size.w,size.h]);// Drag to spin (pointer events; vertical scroll stays native on touch). One pointer at a time.\nconst onPointerDown=e=>{if(!cap.draggable||!animate)return;if(e.pointerType===\"mouse\"&&e.button!==0)return;const s=motionState.current;if(s.dragging)return;// a second finger must not hijack the drag\ns.script=null// the visitor takes over a presentation turn\n;s.dragging=true;s.pointerId=e.pointerId;s.lastX=e.clientX;s.samples=[{t:performance.now(),p:s.phase}];e.currentTarget.setPointerCapture(e.pointerId);};const onPointerMove=e=>{const s=motionState.current;if(!s.dragging||e.pointerId!==s.pointerId)return;const dx=e.clientX-s.lastX;s.lastX=e.clientX;const width=wrapRef.current?wrapRef.current.offsetWidth:600;s.phase=wrap01(s.phase+(cap.invertDrag?-1:1)*dx/(width*1.25));const now=performance.now();s.samples.push({t:now,p:s.phase});while(s.samples.length>2&&now-s.samples[0].t>90)s.samples.shift();};const endDrag=e=>{const s=motionState.current;if(!s.dragging||e.pointerId!==s.pointerId)return;s.dragging=false;s.pointerId=-1;const a=s.samples[0];const b=s.samples[s.samples.length-1];if(a&&b&&b.t-a.t>8){let dp=b.p-a.p;if(dp>.5)dp-=1;if(dp<-.5)dp+=1;s.vel=clamp(dp/((b.t-a.t)/1e3),-2.5,2.5);}else s.vel=0;};const blend=cap.blend===\"multiply\"?\"multiply\":\"normal\";const fill={position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",display:\"block\"};const still=cap.image&&typeof cap.image===\"object\"?cap.image:null;return /*#__PURE__*/_jsx(\"div\",{ref:wrapRef,\"data-kais\":\"viewer\",onPointerDown:onPointerDown,onPointerMove:onPointerMove,onPointerUp:endDrag,onPointerCancel:endDrag,onLostPointerCapture:endDrag,style:{position:\"absolute\",inset:0,touchAction:\"pan-y\",cursor:cap.draggable&&animate?\"grab\":\"default\",userSelect:\"none\",WebkitUserSelect:\"none\"},children:mode===\"video\"?/*#__PURE__*/_jsx(\"video\",{ref:videoRef,src:cap.video,poster:srcOf(cap.poster)||undefined,muted:true,playsInline:true,autoPlay:animate&&!reduced,loop:true,preload:\"auto\",disablePictureInPicture:true,\"aria-hidden\":true,style:{...fill,objectFit:\"contain\",mixBlendMode:blend,pointerEvents:\"none\"}}):mode===\"image\"?/*#__PURE__*/_jsx(\"img\",{src:srcOf(cap.image),srcSet:still&&still.srcSet?still.srcSet:undefined,sizes:still&&still.srcSet&&size.w?`${Math.round(size.w)}px`:undefined,alt:\"\",draggable:false,style:{...fill,objectFit:\"contain\",mixBlendMode:blend,pointerEvents:\"none\"}}):mode===\"model\"?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,\"aria-hidden\":true,style:{...fill,pointerEvents:\"none\",opacity:sketch&&model!==\"ready\"?.3:0,transition:\"opacity 700ms ease\"}}),/*#__PURE__*/_jsx(\"div\",{ref:glHostRef,\"data-kais\":\"model\",\"data-state\":model,style:{...fill,pointerEvents:\"none\",opacity:model===\"ready\"?1:0,transition:\"opacity 900ms cubic-bezier(0.16, 1, 0.3, 1)\"}})]}):/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,\"aria-hidden\":true,style:{...fill,mixBlendMode:blend,pointerEvents:\"none\"}})});});// ─── The hero's wall of type ────────────────────────────────────────────────\n/** The pose the cap comes to rest in back from Stripe: front embroidery fully readable, one side panel showing\n *  (0° is flat front; from 30° the embroidery starts to wrap out of view). */const PRESENT_DEG=15;/** The last turn: one revolution plus the way to the pose, decelerating (easeOutQuint) over this long. */const PRESENT_MS=2600;/** The words come in while the turn slows down: by then 83 % of it is done (1 − (1 − 0.35)^5). */const PRESENT_WORDS_MS=900;/** \"07 OCT 2026\": day, short month, year — readable the same in every country. */function stampDate(d){const m=[\"JAN\",\"FEB\",\"MAR\",\"APR\",\"MAY\",\"JUN\",\"JUL\",\"AUG\",\"SEP\",\"OCT\",\"NOV\",\"DEC\"][d.getMonth()];return String(d.getDate()).padStart(2,\"0\")+\" \"+m+\" \"+d.getFullYear();}/** Before the font has been measured (server render, first frame): a heavy grotesk's proportions, so nothing jumps far. */function guessInk(text){return{inkL:-2,inkR:Math.max(1,text.length)*64,asc:70,desc:0,adv:Math.max(1,text.length)*64+4};}/**\n * Measures lines of type in the font the page will actually draw them in, and again whenever a font finishes loading\n * (a picked Framer font, the stand-in from Google Fonts, or a system fallback while those arrive).\n */function useInkLines(texts,family,weight,enabled,style=\"normal\"){const[met,setMet]=useState(null);const key=texts.join(\"\\x00\");useIsoLayoutEffect(()=>{const lines=key?key.split(\"\\x00\"):[];if(!isBrowser||!enabled||!lines.length||!lines.some(Boolean))return;let alive=true;// the same face the CSS draws: style, weight and family (an italic measured upright would not fit)\nconst font=`${style===\"italic\"?\"italic \":\"\"}${weight} 100px ${family}`;const same=(a,b)=>Math.abs(a.inkL-b.inkL)<.01&&Math.abs(a.inkR-b.inkR)<.01&&Math.abs(a.asc-b.asc)<.01&&Math.abs(a.desc-b.desc)<.01&&Math.abs(a.adv-b.adv)<.01;const measure=()=>{if(!alive)return;const ctx=document.createElement(\"canvas\").getContext(\"2d\");if(!ctx)return;ctx.font=font;const next=[];let inked=false;for(const line of lines){const t=ctx.measureText(line||\" \");// a line with no ink (empty, spaces) counts as nothing, without holding up the others\nif(!(t.actualBoundingBoxRight>0)){next.push({inkL:0,inkR:0,asc:0,desc:0,adv:line?t.width:0});continue;}inked=true;next.push({inkL:t.actualBoundingBoxLeft,inkR:t.actualBoundingBoxRight,asc:t.actualBoundingBoxAscent,desc:t.actualBoundingBoxDescent,adv:t.width});}if(!inked)return;setMet(p=>p&&p.length===next.length&&p.every((m,i)=>same(m,next[i]))?p:next);};measure();// Font loading events are not enough: a face whose stylesheet arrives after this effect (the Google stand-ins,\n// a Framer font) can swap in without one reaching us (seen on iPhone 07/10: the rows were measured in a\n// fallback and drawn wider, cut at \"CA\"). So measure again on a schedule over the first 30 s too: a measure\n// costs well under a millisecond and changes nothing when the face is the same.\nconst timers=[150,400,900,1600,2600,4e3,6e3,9e3,12e3,2e4,3e4].map(ms=>setTimeout(measure,ms));const fonts=document.fonts;if(!fonts)return()=>{alive=false;timers.forEach(clearTimeout);};try{fonts.load(font,lines.join(\" \")).then(measure,()=>{});}catch(_){}fonts.ready&&fonts.ready.then(measure);fonts.addEventListener&&fonts.addEventListener(\"loadingdone\",measure);return()=>{alive=false;timers.forEach(clearTimeout);fonts.removeEventListener&&fonts.removeEventListener(\"loadingdone\",measure);};},[key,family,String(weight),enabled,style]);return met;}/** One line: see useInkLines. */function useInk(text,family,weight,enabled,style=\"normal\"){const met=useInkLines(text?[text]:[],family,weight,enabled,style);return met?met[0]:null;}/**\n * Measured off the design (1429 × 775): the rows run ink to ink across the width with a side margin of 0.8 %\n * (11.4 px), the first one 1.25 margins from the top, 17 % of a row between rows (21 px on 122). Under the last\n * row the design keeps 45 % of a row of extra room (55 px); more than that and the rows open up instead, so any\n * screen height is filled evenly with whole rows.\n */const ROW_GAP=.17;const ROW_SLACK=.45;function layoutRows(text,W,H,met,reserveBottom=0){const m=clamp(W*.008,8,16);const inkPerPx=(met.inkL+met.inkR)/100;const fontSize=inkPerPx>0?Math.max(1,(W-2*m)/inkPerPx):1;const capH=met.asc/100*fontSize;const rowH=capH+Math.max(0,met.desc)/100*fontSize;const top=m*1.25;const avail=Math.max(0,H-reserveBottom-m-top);const g0=ROW_GAP*rowH;const n=Math.max(1,rowH>0?Math.floor((avail+g0)/(rowH+g0)):1);const spare=avail-(n*rowH+(n-1)*g0);const gap=n>1&&spare>ROW_SLACK*rowH?g0+(spare-ROW_SLACK*rowH)/(n-1):g0;const ys=Array.from({length:n},(_,i)=>top+i*(rowH+gap));return{text,fontSize,x:m+met.inkL/100*fontSize,capH,rowH,ys,top,bottom:ys[n-1]+rowH,m,pad:Math.ceil(rowH*.1)+2,textLength:met.adv/100*fontSize};}/**\n * One set of rows. Each row is its own clip, so the type can rise into it (the page's entrance, one row after the\n * other, top to bottom) and leave through its top (back from Stripe, when the rows turn into the thank-you).\n * The page's one orchestrated moment: everything else on it only moves when the visitor does something.\n * With `onPick`, a click (or tap) on a row calls it once the rows are in: the drop's rows lead to the product (10/10).\n * The cap above them keeps its own drag, and a swipe over a row still scrolls the page.\n */function Rows({layout,show,still,color,onPick}){const n=layout.ys.length;const stagger=n>1?Math.min(.07,.42/(n-1)):0;const fast={duration:0};// a set that is leaving (the drop turning into the thank-you) keeps its last props: it is no longer a link\nconst present=useIsPresent();const pick=present&&onPick&&(show||still)?onPick:undefined;return /*#__PURE__*/_jsx(motion.div,{\"aria-hidden\":true,\"data-kais\":\"rows\",\"data-text\":layout.text,\"data-link\":pick?\"shop\":undefined,className:pick?\"kais-rows kais-rows-link\":\"kais-rows\",initial:still?\"shown\":\"hidden\",animate:show||still?\"shown\":\"hidden\",exit:show&&!still?\"gone\":\"vanish\",children:layout.ys.map((y,i)=>/*#__PURE__*/_jsx(\"div\",{className:\"kais-row\",\"data-kais\":\"row\",\"data-ink\":`${y.toFixed(1)} ${(y+layout.rowH).toFixed(1)}`,style:{top:y-layout.pad,height:layout.rowH+layout.pad*2},onClick:pick,children:/*#__PURE__*/_jsx(motion.svg,{width:\"100%\",height:layout.rowH+layout.pad*2,variants:{hidden:{y:\"108%\",transition:fast},shown:{y:\"0%\",transition:still?fast:{duration:1,delay:i*stagger,ease:EASE_OUT_EXPO}},gone:{y:\"-108%\",transition:{duration:.45,delay:i*stagger*.5,ease:[.5,0,.75,0]}},vanish:{opacity:0,transition:fast}},children:/*#__PURE__*/_jsx(\"text\",{x:layout.x,y:layout.pad+layout.capH,fontSize:layout.fontSize,textLength:layout.textLength>0?layout.textLength:undefined,lengthAdjust:\"spacing\",style:color?{fill:color}:undefined,children:layout.text})})},i))});}/** Framer's font control: a picked font, or the role's stack. Inter, Framer's own default (what an untouched control\n *  may hand over, at whatever weight), counts as not picked, as do generic families: the stand-ins are then used at\n *  the design's weights, and the canvas asks for the brand font. */function pickFont(v,stack,weight){const fam=v&&typeof v.fontFamily===\"string\"?v.fontFamily.trim():\"\";const first=fam.split(\",\")[0].trim().replace(/^[\"']|[\"']$/g,\"\");const unset=!first||/^(sans-serif|serif|monospace|system-ui|ui-sans-serif|inherit|initial)$/i.test(first)||/^Inter( Placeholder)?$/i.test(first);if(unset)return{family:stack,weight,picked:false,style:\"normal\"};const w=Number(v.fontWeight)||weight;return{family:`${fam}, ${stack}`,weight:w,picked:true,style:v.fontStyle===\"italic\"?\"italic\":\"normal\"};}/** The product section sits on the dark: white type, hairlines and quiet text in the grey token (CSS variables, so\n *  the colour props reach every part without re-rendering them). */const COLUMN_THEME={bg:\"var(--kais-dark)\",text:\"var(--kais-light)\",muted:\"var(--kais-grey)\",hair:\"color-mix(in srgb, var(--kais-grey) 38%, transparent)\",accent:\"var(--kais-light)\",shimmer:\"color-mix(in srgb, var(--kais-light) 7%, transparent)\"};/** Quiet stand-in that mirrors the rhythm of Stripe's embedded form (amount, express pay, fields, pay). */function Skeleton({theme,still}){let i=0;const shimmer=extra=>({background:`linear-gradient(90deg, transparent 0%, ${theme.shimmer} 50%, transparent 100%)`,backgroundSize:\"200% 100%\",animationDelay:`${i++*70}ms`,...extra});const cls=still?undefined:\"kais-shimmer\";const bar=(w,h,mt=0)=>/*#__PURE__*/_jsx(\"div\",{className:cls,style:shimmer({width:w,height:h,marginTop:mt,background:theme.shimmer})});const field=(h=44)=>/*#__PURE__*/_jsx(\"div\",{className:cls,style:shimmer({height:h,border:`1px solid ${theme.hair}`})});return /*#__PURE__*/_jsxs(\"div\",{\"aria-hidden\":true,\"data-kais\":\"skeleton\",style:{display:\"grid\",gap:10},children:[bar(\"26%\",8),bar(\"42%\",26,2),/*#__PURE__*/_jsx(\"div\",{style:{height:18}}),field(48),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:12,margin:\"10px 0\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{flex:1,height:1,background:theme.hair}}),bar(\"28px\",6),/*#__PURE__*/_jsx(\"div\",{style:{flex:1,height:1,background:theme.hair}})]}),bar(\"18%\",7),field(),/*#__PURE__*/_jsx(\"div\",{style:{height:6}}),bar(\"30%\",7),field(),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gridTemplateColumns:\"1fr 1fr\",gap:10},children:[field(),field()]}),/*#__PURE__*/_jsx(\"div\",{style:{height:14}}),/*#__PURE__*/_jsx(\"div\",{className:cls,style:shimmer({height:50,border:`1px solid ${theme.accent}`,opacity:.45})})]});}/** A quiet secondary action next to BUY NOW: Try again, Stripe, Back to top. Text font, sentence case. */function TextButton({children,onClick,theme,solid,dataKais}){return /*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"kais-textbtn\",\"data-kais\":dataKais,\"data-solid\":solid?\"true\":undefined,onClick:onClick,style:{height:40,padding:\"0 20px\",border:`1px solid ${solid?theme.accent:theme.hair}`,background:solid?theme.accent:\"transparent\",color:solid?theme.bg:theme.text,fontFamily:\"inherit\",fontWeight:\"inherit\",fontSize:15,lineHeight:1,cursor:\"pointer\",borderRadius:999},children:children});}/** Framer canvas only: what the checkout will do on the live site, and what is missing. */function CanvasStatus({mode,requested,pk,issues}){const env=/^pk_live_/.test(pk)?\"live\":/^pk_test_/.test(pk)?\"test\":\"\";const label=mode===\"embedded\"?`Stripe embedded \\xb7 ${env} mode`:mode===\"paymentLink\"?\"Stripe Payment Link (new tab)\":\"Demo checkout\";return /*#__PURE__*/_jsxs(\"div\",{\"data-kais\":\"canvas-status\",style:{position:\"absolute\",left:12,top:12,zIndex:6,maxWidth:360,padding:\"8px 10px\",background:\"rgba(0,0,0,0.82)\",color:K.light,fontFamily:\"ui-monospace, SFMono-Regular, Menlo, monospace\",fontSize:11,lineHeight:1.5,pointerEvents:\"none\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{color:issues.length?\"#FFD27A\":K.light},children:[issues.length?\"⚠ \":\"✓ \",label,requested!==\"auto\"&&requested!==mode?` (asked: ${requested})`:\"\"]}),issues.map((t,i)=>/*#__PURE__*/_jsxs(\"div\",{style:{opacity:.85},children:[\"\\xb7 \",t]},i))]});}// ─── Page scroll: one eased glide from BUY to the product section ───────────\nconst SCROLL_EASE=t=>t<.5?8*t*t*t*t:1-Math.pow(-2*t+2,4)/2// ease-in-out quart\n;let activeGlide=null;/** Anything the visitor does with the page during the glide hands control straight back. */const GLIDE_STOPPERS=[\"wheel\",\"touchstart\",\"keydown\",\"pointerdown\"];/** 0.8 s for a short hop, +0.32 s per 1000 px, never over 1.4 s: one screen (900 px) takes 0.89 s. */const glideDuration=dist=>clamp(600+Math.abs(dist)*.32,800,1400);/**\n * Scrolls the window to `top` with one eased glide (0.8–1.4 s by distance). Any wheel, touch or key from the\n * visitor hands control straight back, except what `keep` lets through (a second click on what started it).\n * Smooth-scroll libraries that expose `lenis` drive it themselves.\n */function glideTo(top,reduced,keep){if(!isBrowser)return Promise.resolve(false);activeGlide&&activeGlide.cancel();const w=window;const start=window.scrollY;const dist=top-start;if(reduced||Math.abs(dist)<2){window.scrollTo({top,left:0,behavior:\"instant\"});return Promise.resolve(true);}const dur=glideDuration(dist);const lenis=w.lenis||w.__lenis;if(lenis&&typeof lenis.scrollTo===\"function\"){lenis.scrollTo(top,{duration:dur/1e3,easing:SCROLL_EASE});return new Promise(r=>setTimeout(()=>r(Math.abs(window.scrollY-top)<2),dur+50));}return new Promise(resolve=>{const html=document.documentElement;const prevBehavior=html.style.scrollBehavior;html.style.scrollBehavior=\"auto\"// a CSS `scroll-behavior: smooth` would smooth every frame again\n;const t0=performance.now();let raf=0;let done=false;const finish=arrived=>{if(done)return;done=true;cancelAnimationFrame(raf);html.style.scrollBehavior=prevBehavior;for(const ev of GLIDE_STOPPERS)window.removeEventListener(ev,stop);if(activeGlide===me)activeGlide=null;resolve(arrived);};const stop=e=>{if(e&&keep&&keep(e))return;finish(false);};const me={cancel:()=>finish(false)};activeGlide=me;for(const ev of GLIDE_STOPPERS)window.addEventListener(ev,stop,{passive:true});const tick=now=>{const t=Math.min(1,(now-t0)/dur);window.scrollTo(0,start+dist*SCROLL_EASE(t));if(t<1)raf=requestAnimationFrame(tick);else finish(true);};raf=requestAnimationFrame(tick);});}function normImages(list){if(!Array.isArray(list))return[];const out=[];for(const it of list){if(typeof it===\"string\"&&it)out.push({src:it});else if(it&&typeof it.src===\"string\"&&it.src)out.push({src:it.src,srcSet:typeof it.srcSet===\"string\"?it.srcSet:undefined,alt:typeof it.alt===\"string\"?it.alt:undefined});}return out;}/**\n * Motion of the gallery, measured on recordings rather than guessed:\n *  · next / previous (arrows, keys, the neighbouring thumb): a critically damped spring of ~0.85 s that keeps\n *    whatever velocity the track already has, so quick repeated presses chain instead of restarting;\n *  · a released swipe: the same spring, seeded with the finger's speed;\n *  · a jump of two or more photos (a far thumb, Home, End): no sweep through the photos in between: the photo on\n *    screen dissolves (0.28 s), the track moves under cover, the new photo settles in from 3 % larger (0.7 / 1.1 s);\n *  · while the track moves, every photo recedes (−7 % scale, fading out completely one slide away) and travels 14 % slower\n *    than its frame, which reads as depth.\n */const NAV_SPRING={type:\"spring\",duration:.85,bounce:0};const SWIPE_SPRING={type:\"spring\",duration:.7,bounce:0};const PARALLAX=.14;const ZOOM_SCALE=2.2;const pad2=v=>String(v).padStart(2,\"0\");/** Decode a photo as soon as it arrives instead of on its first paint: otherwise the tile shows empty for a frame\n *  or two when the section is unveiled or a photo is reached for the first time (seen on the recordings). */const whenDecoded=(img,done)=>{const d=typeof img.decode===\"function\"?img.decode():Promise.resolve();d.then(done,done);};function Slide({img,i,n,x,sw,active,zoom,fit,load,sizes,alt}){// 0 when this slide is centred, ±1 one slide away\nconst offset=useTransform([x,sw],([v,s])=>(v+i*s)/Math.max(1,s));const scale=useTransform(offset,o=>1-.07*Math.min(1,Math.abs(o)));// a neighbour is fully gone at rest: the parallax brings it 14 % in, and a cut-out photo has no frame to hide it\nconst opacity=useTransform(offset,o=>1-Math.pow(Math.min(1,Math.abs(o)),1.4));const shift=useTransform([offset,sw],([o,s])=>-clamp(o,-1.5,1.5)*PARALLAX*s);const ref=useRef(null);const[ready,setReady]=useState(false);const imgRef=useRef(null);useEffect(()=>{if(ref.current)ref.current.inert=!active;},[active]);useEffect(()=>{const el=imgRef.current;if(el&&el.complete&&el.naturalWidth>0)whenDecoded(el,()=>setReady(true));},[load]);return /*#__PURE__*/_jsx(\"div\",{ref:ref,className:\"kais-gal-slide\",role:\"group\",\"aria-roledescription\":\"slide\",\"aria-label\":`${i+1} of ${n}`,\"aria-hidden\":!active||undefined,\"data-kais\":\"slide\",\"data-active\":active?\"true\":\"false\",children:/*#__PURE__*/_jsx(motion.div,{className:\"kais-gal-media\",style:{scale,opacity,x:shift},children:/*#__PURE__*/_jsx(\"div\",{className:\"kais-gal-enter\",children:/*#__PURE__*/_jsx(motion.div,{className:\"kais-gal-zoom\",style:zoom?{scale:zoom.s,originX:zoom.ox,originY:zoom.oy}:undefined,children:load&&/*#__PURE__*/_jsx(\"img\",{ref:imgRef,src:img.src,srcSet:img.srcSet,sizes:sizes,alt:alt,draggable:false,decoding:\"async\",onLoad:e=>whenDecoded(e.currentTarget,()=>setReady(true)),className:\"kais-gal-img\",style:{objectFit:fit,opacity:ready?1:0}})})})})});}/** \"01 / 06\": the current number rolls up (forward) or down (back) on each change. */function Counter({index,n,dir,reduced}){return /*#__PURE__*/_jsxs(\"span\",{className:\"kais-gal-count\",\"data-kais\":\"gallery-count\",\"aria-hidden\":true,children:[/*#__PURE__*/_jsxs(\"span\",{className:\"kais-gal-count-now\",children:[/*#__PURE__*/_jsx(\"span\",{style:{visibility:\"hidden\"},children:pad2(index+1)}),/*#__PURE__*/_jsx(AnimatePresence,{initial:false,custom:dir,children:/*#__PURE__*/_jsx(motion.span,{custom:dir,variants:{in:d=>({y:d>=0?\"100%\":\"-100%\",opacity:0}),on:{y:\"0%\",opacity:1},out:d=>({y:d>=0?\"-100%\":\"100%\",opacity:0})},initial:\"in\",animate:\"on\",exit:\"out\",transition:reduced?{duration:0}:{duration:.5,ease:EASE_OUT_EXPO},style:{position:\"absolute\",left:0,top:0},children:pad2(index+1)},index)})]}),/*#__PURE__*/_jsxs(\"span\",{style:{opacity:.45},children:[\" / \",pad2(n)]})]});}function Gallery({images,tile,fit,zoomable,reduced,isCanvas,revealed,name,primed}){const n=images.length;const[index,setIndex]=useState(0);const[dir,setDir]=useState(1);const indexRef=useRef(0);const[announce,setAnnounce]=useState(\"\");const stageRef=useRef(null);const SW=useExactWidth(stageRef);const swRef=useRef(0);swRef.current=SW;const x=useMotionValue(0);const sw=useMotionValue(SW||1);const anim=useRef(null);const[dragging,setDragging]=useState(false);const[zoomed,setZoomed]=useState(false);const zoomedRef=useRef(false);const zs=useSpring(1,{stiffness:240,damping:30});const ox=useSpring(.5,{stiffness:200,damping:28});const oy=useSpring(.5,{stiffness:200,damping:28});const[finePointer,setFinePointer]=useState(false);const canZoom=zoomable&&finePointer&&!isCanvas;// The photos never compete with the hero: they load once the page has finished loading and the browser is idle,\n// or earlier when the visitor heads for them (BUY NOW pressed: `primed`, or scrolling into the section)\nconst[warm,setWarm]=useState(isCanvas);useEffect(()=>{if(primed&&!warm)setWarm(true);},[primed]);const rootRef=useRef(null);// a jump in flight: native Web Animations on the two slides' arrival layers (they never write inline styles,\n// so cancelling one always returns its layer to its own opacity 1 / scale 1) and where the track ends up\nconst jump=useRef(null);const settleJump=()=>{const j=jump.current;if(!j)return;jump.current=null;j.anims.forEach(a=>a.cancel());x.set(j.target);};useEffect(()=>{setFinePointer(isBrowser&&!!window.matchMedia&&window.matchMedia(\"(hover: hover) and (pointer: fine)\").matches);},[]);useEffect(()=>{if(warm||!rootRef.current)return;const w=window;let idleId=null;let delay=null;let io=null;const on=()=>setWarm(true);// 1.2 s after the load event, then the first idle moment: three.js and the cap model go first\nconst schedule=()=>delay=setTimeout(()=>idleId=w.requestIdleCallback?w.requestIdleCallback(on,{timeout:3e3}):setTimeout(on,300),1200);if(document.readyState===\"complete\")schedule();else window.addEventListener(\"load\",schedule,{once:true});if(typeof IntersectionObserver!==\"undefined\"){// the section starts right at the fold, so \"near\" means the visitor has actually begun scrolling to it\nio=new IntersectionObserver(([e])=>e.isIntersecting&&on(),{rootMargin:\"0px 0px -5% 0px\"});io.observe(rootRef.current);}return()=>{window.removeEventListener(\"load\",schedule);clearTimeout(delay);if(idleId!==null)w.cancelIdleCallback?w.cancelIdleCallback(idleId):clearTimeout(idleId);io&&io.disconnect();};},[warm]);// keep the track aligned when the stage resizes (no animation)\nuseIsoLayoutEffect(()=>{sw.set(SW||1);if(!dragging){anim.current&&anim.current.stop();x.set(-indexRef.current*SW);}},[SW]);useEffect(()=>{if(indexRef.current>n-1)go(Math.max(0,n-1));},[n]);const setZoom=(on,at,instant=false)=>{if(on&&!canZoom)return;zoomedRef.current=on;if(on&&at)aim(at);setZoomed(on);if(!on&&instant){zs.jump(1);ox.jump(.5);oy.jump(.5);return;}if(!on){ox.set(.5);oy.set(.5);}zs.set(on?ZOOM_SCALE:1);};const aim=e=>{const el=stageRef.current;if(!el)return;const r=el.getBoundingClientRect();ox.set(clamp((e.clientX-r.left)/Math.max(1,r.width),0,1));oy.set(clamp((e.clientY-r.top)/Math.max(1,r.height),0,1));};const go=(to,velocity)=>{if(!n)return;const from=indexRef.current;const k=clamp(Math.round(to),0,n-1);if(zoomedRef.current)setZoom(false,undefined,true);indexRef.current=k;setIndex(k);if(k!==from){setDir(k>from?1:-1);setAnnounce(`Photo ${k+1} of ${n}`);}anim.current&&anim.current.stop();settleJump();const target=-k*swRef.current;if(reduced||!swRef.current){x.set(target);return;}const layers=stageRef.current?stageRef.current.querySelectorAll(\".kais-gal-enter\"):null;if(Math.abs(k-from)>=2&&velocity===undefined&&layers&&layers[from]&&layers[k]&&typeof layers[from].animate===\"function\"){// a jump: no sweep through the photos in between. The photo on screen dissolves, then the track moves\n// under cover and the new photo settles in from 3 % larger. Same image elements, nothing to decode.\nconst out=layers[from];const inn=layers[k];const j={anims:[],target};jump.current=j;const fade=out.animate([{opacity:1},{opacity:0}],{duration:280,easing:\"cubic-bezier(0.4, 0, 1, 1)\",fill:\"forwards\"});j.anims.push(fade);fade.onfinish=()=>{if(jump.current!==j)return;const expo=\"cubic-bezier(0.16, 1, 0.3, 1)\";j.anims.push(inn.animate([{opacity:0},{opacity:1}],{duration:700,easing:expo}));const settle=inn.animate([{transform:\"scale(1.03)\"},{transform:\"scale(1)\"}],{duration:1100,easing:expo});j.anims.push(settle);x.set(target);// the dissolved photo stays at 0 until the track has moved it away (two frames), then lets go\nrequestAnimationFrame(()=>requestAnimationFrame(()=>jump.current===j&&fade.cancel()));settle.onfinish=()=>jump.current===j&&(jump.current=null);};return;}anim.current=animate(x,target,velocity===undefined?NAV_SPRING:{...SWIPE_SPRING,velocity});};// Pointer: horizontal drag (mouse or touch) with rubber-banded ends. A click without movement zooms (onClick).\nconst drag=useRef({id:-1,x0:0,y0:0,base:0,axis:\"\",samples:[],swallowClick:false});const onPointerDown=e=>{if(!n||isCanvas)return;if(e.pointerType===\"mouse\"&&e.button!==0)return;drag.current.swallowClick=false;if(zoomedRef.current)return;anim.current&&anim.current.stop();settleJump();drag.current={id:e.pointerId,x0:e.clientX,y0:e.clientY,base:x.get(),axis:\"\",samples:[{t:performance.now(),x:e.clientX}],swallowClick:false};};const onPointerMove=e=>{if(zoomedRef.current){aim(e);return;}const d=drag.current;if(d.id!==e.pointerId)return;const dx=e.clientX-d.x0;const dy=e.clientY-d.y0;if(!d.axis){if(Math.abs(dx)<6&&Math.abs(dy)<6)return;d.axis=Math.abs(dx)>Math.abs(dy)?\"x\":\"y\";if(d.axis===\"x\"){try{e.currentTarget.setPointerCapture(e.pointerId);}catch(_){}setDragging(true);}else if(n>0&&Math.abs(x.get()- -indexRef.current*swRef.current)>.5){go(indexRef.current)// a vertical scroll that interrupted a settle: finish the settle\n;}}if(d.axis!==\"x\")return;const s=swRef.current;let v=d.base+dx;const min=-(n-1)*s;if(v>0)v=v*.32;if(v<min)v=min+(v-min)*.32;x.set(v);const now=performance.now();d.samples.push({t:now,x:e.clientX});while(d.samples.length>2&&now-d.samples[0].t>100)d.samples.shift();};const onPointerUp=e=>{const d=drag.current;if(d.id!==e.pointerId)return;d.id=-1;if(d.axis!==\"x\"){if(d.axis===\"y\"||n>0&&Math.abs(x.get()- -indexRef.current*swRef.current)>.5)go(indexRef.current);return;}d.swallowClick=true;const a=d.samples[0];const b=d.samples[d.samples.length-1];// a finger that came to rest before letting go is not a flick\nconst vel=b&&a&&b.t>a.t&&performance.now()-b.t<80?(b.x-a.x)/(b.t-a.t)*1e3:0;const s=swRef.current||1;const moved=(x.get()-d.base)/s;let to=indexRef.current;if(Math.abs(vel)>380)to+=vel<0?1:-1;else if(Math.abs(moved)>.18)to+=moved<0?1:-1;setDragging(false);go(to,vel);};const onPointerCancel=e=>{const d=drag.current;if(d.id!==e.pointerId)return;d.id=-1;if(d.axis===\"x\")setDragging(false);go(indexRef.current,0);};const onStageClick=e=>{if(drag.current.swallowClick){drag.current.swallowClick=false;return;}if(zoomedRef.current)setZoom(false);else setZoom(true,e);};const onKeyDown=e=>{const k=e.key;if(k===\"ArrowRight\")go(indexRef.current+1);else if(k===\"ArrowLeft\")go(indexRef.current-1);else if(k===\"Home\")go(0);else if(k===\"End\")go(n-1);else if(k===\"Escape\"&&zoomedRef.current)setZoom(false);else if((k===\"Enter\"||k===\" \")&&canZoom){const r=stageRef.current.getBoundingClientRect();zoomedRef.current?setZoom(false):setZoom(true,{clientX:r.left+r.width/2,clientY:r.top+r.height/2});}else return;e.preventDefault();};const stageW=Math.round(SW)||800;// one size for every photo, zoom included, so the browser never swaps the file under the visitor's cursor\nconst sizes=`${Math.round(stageW*(canZoom?ZOOM_SCALE:1))}px`;const label=`Photos of the ${name}`;const zoomVals=useMemo(()=>({s:zs,ox,oy}),[zs,ox,oy]);if(!n)return null;return /*#__PURE__*/_jsx(\"div\",{ref:rootRef,className:\"kais-gal\",\"data-kais\":\"gallery\",style:{[\"--kais-tile\"]:tile},children:/*#__PURE__*/_jsxs(\"div\",{className:\"kais-gal-main\",children:[/*#__PURE__*/_jsx(motion.div,{ref:stageRef,className:\"kais-gal-stage\",\"data-kais\":\"stage-gallery\",\"data-zoomed\":zoomed?\"true\":\"false\",tabIndex:0,role:\"region\",\"aria-roledescription\":\"carousel\",\"aria-label\":label,onPointerDown:onPointerDown,onPointerMove:onPointerMove,onPointerUp:onPointerUp,onPointerCancel:onPointerCancel,onClick:onStageClick,onMouseLeave:()=>zoomedRef.current&&setZoom(false),onKeyDown:onKeyDown,initial:false,animate:revealed?{clipPath:\"inset(0% 0% 0% 0%)\",transitionEnd:{clipPath:\"none\"}}:{clipPath:\"inset(100% 0% 0% 0%)\"},transition:{duration:revealed?1.2:0,ease:EASE_OUT_EXPO},style:{cursor:zoomed?\"zoom-out\":dragging?\"grabbing\":canZoom?\"zoom-in\":\"grab\"},children:/*#__PURE__*/_jsx(motion.div,{className:\"kais-gal-reveal\",initial:false,animate:revealed?{scale:1}:{scale:1.08},transition:{duration:revealed?1.6:0,ease:EASE_OUT_EXPO},children:/*#__PURE__*/_jsx(motion.div,{className:\"kais-gal-track\",\"data-kais\":\"track\",style:{x},children:images.map((img,i)=>/*#__PURE__*/_jsx(Slide,{img:img,i:i,n:n,x:x,sw:sw,active:i===index,zoom:i===index?zoomVals:null,fit:fit,load:warm&&SW>0,sizes:sizes,alt:img.alt||`${name}, photo ${i+1} of ${n}`},i))})})}),/*#__PURE__*/_jsxs(motion.div,{className:\"kais-gal-meta\",initial:false,animate:revealed?{opacity:1}:{opacity:0},transition:{duration:.6,delay:revealed?.6:0,ease:EASE_OUT_EXPO},children:[/*#__PURE__*/_jsx(Counter,{index:index,n:n,dir:dir,reduced:reduced}),n>1&&/*#__PURE__*/_jsxs(\"span\",{className:\"kais-gal-arrows\",children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"kais-gal-arrow\",\"data-kais\":\"gallery-prev\",\"aria-label\":\"Previous photo\",\"aria-disabled\":index===0,onClick:()=>indexRef.current>0&&go(indexRef.current-1),children:/*#__PURE__*/_jsx(\"svg\",{width:\"18\",height:\"18\",viewBox:\"0 0 18 18\",\"aria-hidden\":true,children:/*#__PURE__*/_jsx(\"path\",{d:\"M11 4 6 9l5 5\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"1.1\"})})}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"kais-gal-arrow\",\"data-kais\":\"gallery-next\",\"aria-label\":\"Next photo\",\"aria-disabled\":index===n-1,onClick:()=>indexRef.current<n-1&&go(indexRef.current+1),children:/*#__PURE__*/_jsx(\"svg\",{width:\"18\",height:\"18\",viewBox:\"0 0 18 18\",\"aria-hidden\":true,children:/*#__PURE__*/_jsx(\"path\",{d:\"m7 4 5 5-5 5\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"1.1\"})})})]})]}),/*#__PURE__*/_jsx(\"div\",{className:\"kais-sr\",\"aria-live\":\"polite\",children:announce})]})});}const HERO_TEXT=\"2042 KAIS CAP\";/** The cap's box in the design: 61.1 % of the screen's height (its ink then measures 663 × 440 at 1429 × 775; 60 %\n *  before the box got 2 % more room above the button, 1.019 × taller for the same cap). */const DESIGN_CAP_SHARE=.611;const CAP_DEFAULTS={source:\"model\",quality:\"auto\",threeUrl:DEFAULT_THREE_URL,frames:[],framesPattern:\"\",frameCount:72,frameStart:1,frameBlend:true,video:\"\",poster:\"\",image:\"\",period:16,direction:\"right\",draggable:true,invertDrag:false,startAngle:330,blend:\"normal\",aspect:1.25,// 40 % of the design's size: half, as asked after the first look, then 20 % smaller again (Ángel, 07/10, desktop\n// and phones). At 100 the cap measures 663 × 440 px at 1429 × 775, the design's (its box, every pose of the turn,\n// is DESIGN_CAP_SHARE of the screen's height). Every limit (screen height, the rows, the width) scales with it, so\n// the cap is that much smaller on every screen, phones included.\nscale:40,shadow:false,shadowY:80,showDegrees:false,lineColor:K.grey};// The design's copy, with lower case at the start of every sentence (asked 07/10, like \"built\" before); names keep\n// their capitals (KAIS FC, the 2042 KAIS CAP, Lisbon, Stripe).\nconst PRODUCT_DEFAULTS={title:\"2042 KAIS CAP\\n(100 units limited edition)\",price:\"50€\",priceNote:\"(worldwide shipping included)\",description:[\"built from zero on the Lisbon coast.\",\"KAIS FC celebrates its first ever merch item by projecting an idea.\",\"the 2042 KAIS CAP is an unstructured six panel hat in light grey color. it features bold red “2042 champions league winners” embroidery on front and “kais(dot).com” embroidery on the side. hand-numbered label inside the cap.\",\"\",\"the 2042 KAIS CAP is limited to numbered 100 units.\",\"\",\"once sold out, it will be gone forever.\"].join(\"\\n\"),cta:\"buy now\"};const GALLERY_DEFAULTS={images:[],backdrop:\"rgba(0,0,0,0)\",fit:\"contain\",zoom:true};// Ángel's Stripe account in test mode. A publishable key is public by design (it only identifies the account).\n// Going live: pk_live_… here, the restricted rk_live_… only in the Cloudflare Worker (npx wrangler secret put).\n// The Session URL is the Worker's own (https://kaiscap-checkout.<subdomain>.workers.dev/…): it exists only once\n// deployed, so it starts empty and is pasted from …/api/status. (The Vercel address of the first plan never went up.)\nconst KAIS_PUBLISHABLE_KEY=\"pk_test_51UL4JBDlnAq2VtMgmcFyVFVWyzuCO9PAQDiZxQAnt1FwP9YzPSySLhfUpXr3c1Gr9BdVFifWKPJbSzEftyA2NiBO00EhcpVZq8\";const CHECKOUT_DEFAULTS={mode:\"auto\",publishableKey:KAIS_PUBLISHABLE_KEY,sessionEndpoint:\"\",paymentLink:\"\",// off: the real drop. The test link is the 1 € Payment Link made for the test purchase on 12/10\ntestPrice:false,testPaymentLink:\"https://buy.stripe.com/9B64gz1bHdPEbpK7Fl2kw01\",testPriceLabel:\"1€\",// Framer canvas only: the hero as a buyer sees it back from Stripe\npreviewPaid:false,stripeJsUrl:DEFAULT_STRIPE_JS,// Off: with a limited stock every session reserves a cap, so one starts only when the visitor asks for it\nprewarm:false};const COPY_DEFAULTS={paidRows:\"THANK YOU\",successTitle:\"thank you.\",successText:\"your order is confirmed. the receipt is on its way to your inbox.\",returnBack:\"back to the drop\",backLabel:\"back to top\",holdNote:\"we hold your cap for 30 minutes while you pay.\",soldOutLabel:\"sold out\",soldOutText:\"this drop is sold out.\",expiredText:\"your 30 minutes ran out, so the cap went back to the drop. press buy now to start again.\",busyText:\"there are already open checkouts from your connection. finish one, or try again in 30 minutes.\",errorText:\"the checkout could not load. please try again in a moment.\",retryLabel:\"try again\",fallbackLabel:\"pay on Stripe\",demoNote:\"preview. the Stripe checkout loads here once the keys are connected.\",demoButton:\"preview confirmation\",demoSuccessNote:\"preview only. no order placed, nothing charged.\"};const FOOTER_DEFAULTS={show:true,left:\"KAIS FC\",center:\"website\",right:\"\\xa9 2026 All Rights Reserved\"};const COLOR_DEFAULTS={dark:K.dark,grey:K.grey,light:K.light,accent:K.red};/** Plain-language configuration problems, shown on the Framer canvas and logged once on the live site. */function configIssues(checkout){const out=[];if(checkout.mode===\"demo\")return out;const pk=(checkout.publishableKey||\"\").trim();const ep=(checkout.sessionEndpoint||\"\").trim();if(/^(sk|rk)_/.test(pk))out.push(\"A SECRET key is in the Publishable key field. Remove it now: it would be public. Use pk_…\");else if(pk&&!/^pk_(test|live)_/.test(pk))out.push(\"Publishable key should start with pk_test_ or pk_live_\");if(ep&&!/^https:\\/\\//.test(ep)&&!/^http:\\/\\/(localhost|127\\.0\\.0\\.1)(:\\d+)?\\//.test(ep))out.push(\"Session URL must start with https://\");if(checkout.mode===\"embedded\"&&!(pk&&ep))out.push(\"Embedded needs Publishable key + Session URL: showing the demo meanwhile\");if(checkout.mode===\"paymentLink\"&&!checkout.paymentLink)out.push(\"Payment Link mode needs a link: showing the demo meanwhile\");return out;}/** Hero height on the Framer canvas (vh there would be the editor window): the design's own frame (1429 × 775),\n *  phone-sized under 810. */const canvasHeroHeight=w=>w>0&&w<MOBILE_BREAKPOINT?844:Math.round(clamp((w||1440)*.5425,600,960));/** \"a\\nb\\n\\nc\": blank lines split groups (32 px apart in the design), single line breaks split paragraphs (16 px). */function splitStory(text){return String(text||\"\").replace(/\\r/g,\"\").split(/\\n[ \\t]*\\n+/).map(g=>g.split(\"\\n\").map(p=>p.trim()).filter(Boolean)).filter(g=>g.length>0);}export default function KaisCapStore(props){// Cap props renamed so values saved by earlier versions don't come back: degrees (was showDegrees, default on\n// there), groundShadow (was shadow, on), drawingColor (was lineColor, navy), capSize (was size, a share of the screen, then scale: 100, then 50)\nconst capIn=props.cap||{};const cap={...CAP_DEFAULTS,...capIn,scale:typeof capIn.capSize===\"number\"&&capIn.capSize>0?capIn.capSize:CAP_DEFAULTS.scale,showDegrees:capIn.degrees===true,shadow:capIn.groundShadow===true,lineColor:typeof capIn.drawingColor===\"string\"&&capIn.drawingColor?capIn.drawingColor:CAP_DEFAULTS.lineColor};const checkoutIn={...CHECKOUT_DEFAULTS,...props.checkout||{}};// Test price on (with a test link to open): BUY NOW goes to the test Payment Link, whatever the mode, and the\n// page shows the test price. Everything else is the real page, so the purchase is tested end to end.\nconst testLink=String(checkoutIn.testPaymentLink||\"\").trim();const testing=checkoutIn.testPrice===true&&/^https:\\/\\/\\S+$/.test(testLink);const checkout=testing?{...checkoutIn,mode:\"paymentLink\",paymentLink:testLink}:checkoutIn;const productIn={...PRODUCT_DEFAULTS,...props.product||{}};const testLabel=String(checkoutIn.testPriceLabel||\"\").trim();const product=testing&&testLabel?{...productIn,price:testLabel}:productIn;const gallery={...GALLERY_DEFAULTS,...props.gallery||{}};const copy={...COPY_DEFAULTS,...props.copy||{}};const footer={...FOOTER_DEFAULTS,...props.footer||{}};// the year the first version shipped by mistake (2016): an instance that saved it gets the right one\nif(/^\\s*©\\s*2016 All Rights Reserved\\s*$/.test(String(footer.right||\"\")))footer.right=FOOTER_DEFAULTS.right;const colors={...COLOR_DEFAULTS,...props.colors||{}};const instanceId=React.useId();const cleanId=instanceId.replace(/[^a-zA-Z0-9_-]/g,\"\");const sectionId=`kais-shop-${cleanId}`;const headId=`kais-shop-title-${cleanId}`;const images=useMemo(()=>normImages(gallery.images),[gallery.images]);const imagesKey=images.map(i=>i.src).join(\"|\");const stableImages=useMemo(()=>images,[imagesKey]);const heroText=String(props.heroText||HERO_TEXT).trim()||HERO_TEXT;const paidText=String(copy.paidRows||\"\").trim()||\"THANK YOU\";const productName=String(product.title||heroText).split(\"\\n\")[0].trim()||heroText;const target=isBrowser?RenderTarget.current():RenderTarget.export;const isCanvas=target===RenderTarget.canvas||target===RenderTarget.thumbnail;// the published page says it too (in the console, never to the buyer), so a forgotten test is found\nuseEffect(()=>{if(testing&&!isCanvas)console.warn(`[KAIS] Test price is on: buy now opens ${testLink} and the page shows ${testLabel||\"the price\"}. Switch it off in Checkout → Test price before launch.`);},[testing,isCanvas,testLink,testLabel]);const reduced=!!useReducedMotion();// Typefaces: the fonts picked in Framer, else the stand-ins\nconst display=pickFont(props.displayFont,F.display,400);const text=pickFont(props.textFont,F.text,500);// the canvas too, so the editor shows the rows as the live site will (until the brand fonts are picked)\nuseStandInFonts(props.loadFonts!==false&&!display.picked,props.loadFonts!==false&&!text.picked);const pkRaw=(checkout.publishableKey||\"\").trim();const pkUsable=/^pk_(test|live)_/.test(pkRaw)// never hand sk_/rk_ (or junk) to Stripe.js\n;const endpoint=(checkout.sessionEndpoint||\"\").trim();const issues=useMemo(()=>configIssues(checkout),[checkout.mode,checkout.publishableKey,checkout.sessionEndpoint,checkout.paymentLink]);const mode=useMemo(()=>{const hasEmbedded=pkUsable&&!!endpoint;if(checkout.mode===\"embedded\")return hasEmbedded?\"embedded\":\"demo\";if(checkout.mode===\"paymentLink\")return checkout.paymentLink?\"paymentLink\":\"demo\";if(checkout.mode===\"demo\")return\"demo\";return hasEmbedded?\"embedded\":checkout.paymentLink?\"paymentLink\":\"demo\";},[checkout.mode,pkUsable,endpoint,checkout.paymentLink]);// Demo is only legitimate when asked for, or when nothing that can take a payment is configured yet (a\n// publishable key alone can't: the default one is there before the Session URL exists)\nconst demoAllowed=checkout.mode===\"demo\"||checkout.mode===\"auto\"&&!endpoint&&!checkout.paymentLink;const misconfigured=!isCanvas&&mode===\"demo\"&&!demoAllowed;useEffect(()=>{if(isCanvas||!issues.length)return;console.warn(\"[KAIS Cap Store] configuration:\\n  • \"+issues.join(\"\\n  • \"));},[isCanvas,issues.join(\"|\")]);// ── State ──\nconst[entered,setEntered]=useState(isCanvas);const[cstate,setCstate]=useState(\"idle\");const cstateRef=useRef(cstate);cstateRef.current=cstate;const[errKind,setErrKind]=useState(\"generic\");const[soldOut,setSoldOut]=useState(false);const[demoOpen,setDemoOpen]=useState(false);const[iframeReady,setIframeReady]=useState(false);const[revealed,setRevealed]=useState(isCanvas);const[primed,setPrimed]=useState(false)// the visitor is heading for the photos: load them now\n;const rootRef=useRef(null);const sectionRef=useRef(null);const buyRef=useRef(null);const titleRef=useRef(null);const heroTitleRef=useRef(null);const columnRef=useRef(null);const bodyRef=useRef(null);const storyRef=useRef(null);const actionRef=useRef(null);const mountRef=useRef(null);const degRef=useRef(null);const successRef=useRef(null);const viewerApi=useRef(null);const ctl=useRef({instance:null,preparing:null,disposed:false,generation:0,createdAt:0,expiresAt:0,expiryTimer:null,stopWatch:null});const hoverTimer=useRef(null);const successShown=useRef(false);const openedOnce=useRef(false);const[heightIssue,setHeightIssue]=useState(false);// ── Hero geometry: every number derives from the measured hero box and the measured type ──\nconst frameRef=useRef(null);const{w:W,h:H}=useElementSize(frameRef);const narrow=W>0&&W<700;const dropInk=useInk(heroText,display.family,display.weight,true,display.style);const paidInk=useInk(paidText,display.family,display.weight,true,display.style);const capInk=useInk(\"H\",display.family,display.weight,true,display.style);// the section's display type, measured line by line: the title (each line kept on one line, sized to fit the\n// column, lines spaced by their real ink) and the price (the gaps around it are ink to ink)\nconst titleLines=useMemo(()=>String(product.title||\"\").split(\"\\n\").filter(l=>l.trim()),[product.title]);const titleInk=useInkLines(titleLines,display.family,display.weight,true,display.style);const priceInk=useInkLines([product.price||\"\",product.priceNote||\"\"],display.family,display.weight,true,display.style);// Back from Stripe: the rows turn into the thank-you and a caption band holds the words (measured once rendered)\nconst[confirmed,setConfirmed]=useState(false);const[captionRef,captionH]=useLateHeight();const heroW=W||1440;const heroH=H||800;const dropRows=useMemo(()=>layoutRows(heroText,heroW,heroH,dropInk||guessInk(heroText)),[heroText,heroW,heroH,dropInk]);const captionReserve=(captionH||(narrow?96:44))+dropRows.m;const paidRows=useMemo(()=>layoutRows(paidText,heroW,heroH,paidInk||guessInk(paidText),captionReserve),[paidText,heroW,heroH,paidInk,captionReserve]);const rows=confirmed?paidRows:dropRows;// The cap: its box holds every pose of the turn; centred on the block of rows, never wider than the rows\nconst aspect=cap.source===\"model\"?Cap3D.MODEL_BOUNDS.w/Cap3D.MODEL_BOUNDS.h:cap.source===\"placeholder\"||!(cap.aspect>0)?cap.source===\"placeholder\"?CAP_BOUNDS.w/CAP_BOUNDS.h:1.25:cap.aspect;const rowsMid=(rows.top+rows.bottom)/2;const roomH=Math.max(0,rows.bottom-rows.top);const capFull=Math.max(0,Math.min(heroH*DESIGN_CAP_SHARE,roomH,(heroW-2*rows.m)/aspect));const capScale=clamp((Number(cap.scale)>0?Number(cap.scale):CAP_DEFAULTS.scale)/100,.2,1);const capH=capFull*capScale;const capW=capH*aspect;// the model's box has extra room above the button: centre the cap itself, not its box, on the rows\nconst capLift=cap.source===\"model\"?capH*Cap3D.MODEL_BOUNDS.topRoom/2:0;// ink of the display face's capitals per px of font size: sizes the section's display type by its cap height\nconst dcap=capInk&&capInk.asc>0?capInk.asc/100:.7;const capAsc=capInk&&capInk.asc>0?capInk.asc:70;const titleMet=titleInk&&titleInk.length===titleLines.length?titleInk:null;// the widest title line in cap heights (its advance or its ink, whichever reaches further): the CSS sets the\n// title no larger than the column ÷ this, so no line ever wraps or runs out of the column. 0.8 cap a character\n// before the face is measured (the server render: wide enough for Archivo Black, 0.76), +1 % for rounding.\nconst titleRatio=titleMet?Math.max(1,...titleMet.map(m=>Math.max(m.adv,m.inkL+m.inkR)/capAsc))*1.01:Math.max(1,...titleLines.map(l=>l.length*.8));// line pitch, in cap heights: the deepest descent of a line + the tallest ink of the line under it + 0.3 cap of\n// clear space between them (Ángel, 07/10: the brackets of the second line touched the first)\nconst TITLE_CLEAR=.3;let titleLead=1.35;if(titleMet&&titleMet.length>1){let reach=0;for(let i=0;i+1<titleMet.length;i++)reach=Math.max(reach,(Math.max(0,titleMet[i].desc)+titleMet[i+1].asc)/capAsc);titleLead=Math.max(1,reach+TITLE_CLEAR);}// how far the ink reaches under the baseline (cap heights): the title's last line, the price, its note. The gaps\n// title → price → rule are set between inks, so they look equal whatever the face hangs below the line.\nconst lastDesc=m=>m?Math.max(0,m.desc)/capAsc:.2;const titleDesc=titleMet?lastDesc(titleMet[titleMet.length-1]):.2;const amountDesc=priceInk&&product.price?lastDesc(priceInk[0]):0;const noteDesc=priceInk&&product.priceNote?lastDesc(priceInk[1]):product.priceNote?.2:0;// the hero's empty band under its last row: the section's top padding adds it again, so the space between the\n// rows and the title doubles (Ángel, 07/10: \"el doble\")\nconst heroTail=Math.max(0,Math.round(heroH-dropRows.bottom));const rowsReady=isCanvas||!!dropInk;// The rules end where the story's longest line ends (Ángel, 07/10: they ran far past the last word, most on wide\n// screens). Measured from the laid-out lines, again when the column resizes or a font arrives.\nuseIsoLayoutEffect(()=>{const body=bodyRef.current;const storyEl=storyRef.current;if(!body)return;if(!storyEl){body.style.removeProperty(\"--kais-rule-w\");return;}let alive=true;const measure=()=>{if(!alive)return;const box=storyEl.getBoundingClientRect();// screen px → layout px: the Framer canvas draws the page zoomed (a transform)\nconst zoom=storyEl.offsetWidth>0&&box.width>0?box.width/storyEl.offsetWidth:1;let right=box.left;const range=document.createRange();storyEl.querySelectorAll(\"p\").forEach(p=>{range.selectNodeContents(p);const rects=range.getClientRects();for(let i=0;i<rects.length;i++)if(rects[i].width>0)right=Math.max(right,rects[i].right);});// a very short story still leaves BUY NOW and its notes room to sit centred (16 em, or the column)\nconst floor=Math.min(storyEl.offsetWidth,16*(parseFloat(getComputedStyle(storyEl).fontSize)||16));const w=Math.ceil(Math.max((right-box.left)/zoom,floor));if(w>0)body.style.setProperty(\"--kais-rule-w\",w+\"px\");else body.style.removeProperty(\"--kais-rule-w\");};measure();const ro=typeof ResizeObserver!==\"undefined\"?new ResizeObserver(()=>measure()):null;ro&&ro.observe(storyEl);const timers=[300,1200,3e3,6e3].map(ms=>setTimeout(measure,ms));const fonts=document.fonts;fonts&&fonts.ready&&fonts.ready.then(measure);fonts&&fonts.addEventListener&&fonts.addEventListener(\"loadingdone\",measure);return()=>{alive=false;ro&&ro.disconnect();timers.forEach(clearTimeout);fonts&&fonts.removeEventListener&&fonts.removeEventListener(\"loadingdone\",measure);};},[product.description,text.family,String(text.weight),text.style]);// Entrance: wait for the display face (max 1.2 s) so the rows rise in the font they will stay in\nuseEffect(()=>{if(isCanvas)return;let done=false;const go=()=>{if(!done){done=true;setEntered(true);}};const t=setTimeout(go,1200);const fonts=document.fonts;if(fonts&&fonts.load){Promise.all([fonts.load(`${display.style===\"italic\"?\"italic \":\"\"}${display.weight} 100px ${display.family}`,heroText).catch(()=>{}),fonts.ready]).then(()=>setTimeout(go,30)).catch(go);}else go();return()=>clearTimeout(t);// eslint-disable-next-line react-hooks/exhaustive-deps\n},[isCanvas]);// Stripe.js warm-up once the page has loaded (never delays the load event), then on idle\nuseEffect(()=>{if(mode!==\"embedded\"||isCanvas)return;const w=window;let idleId=null;const run=()=>loadStripeJs(checkout.stripeJsUrl||DEFAULT_STRIPE_JS).catch(()=>{});const schedule=()=>idleId=w.requestIdleCallback?w.requestIdleCallback(run,{timeout:2500}):setTimeout(run,1200);if(document.readyState===\"complete\")schedule();else window.addEventListener(\"load\",schedule,{once:true});return()=>{window.removeEventListener(\"load\",schedule);if(idleId!==null)w.cancelIdleCallback?w.cancelIdleCallback(idleId):clearTimeout(idleId);};},[mode,isCanvas,checkout.stripeJsUrl]);/** Tear down this instance's checkout. */const resetCheckout=useCallback(()=>{const c=ctl.current;c.generation++// invalidates any prepare still in flight\n;c.stopWatch&&c.stopWatch();c.stopWatch=null;try{c.instance&&c.instance.destroy();}catch(_){}c.instance=null;c.preparing=null;c.createdAt=0;c.expiresAt=0;clearTimeout(c.expiryTimer);setIframeReady(false);},[]);/** Another instance (another Framer breakpoint) is taking the page's single checkout. */const releaseRef=useRef(()=>{});releaseRef.current=()=>{resetCheckout();setCstate(s=>s===\"success\"?s:\"idle\");};const isHidden=()=>!rootRef.current||rootRef.current.offsetParent===null;const handleComplete=useRef(()=>{});handleComplete.current=()=>{const c=ctl.current;c.stopWatch&&c.stopWatch();c.stopWatch=null;try{c.instance&&c.instance.destroy();}catch(_){}c.instance=null;c.createdAt=0;c.expiresAt=0;clearTimeout(c.expiryTimer);clearSaved(endpoint);track(\"purchase\");if(isHidden()&&isBrowser){// Another breakpoint's instance is the one on screen: let it show the confirmation\nwindow.dispatchEvent(new CustomEvent(SUCCESS_HANDOFF,{detail:{from:instanceId}}));setCstate(\"idle\");return;}showSuccess();};const showSuccess=()=>{setCstate(\"success\");queueHeroThanks();viewerApi.current&&viewerApi.current.kick(1.1);// the form was long and the confirmation is short: bring it into view if it slid out of sight (measured on\n// the action area itself: on phones the column is display: contents and has no box of its own)\nrequestAnimationFrame(()=>{const el=actionRef.current;if(!el)return;const top=el.getBoundingClientRect().top;if(top<0||top>window.innerHeight*.6)glideTo(Math.max(0,top+window.scrollY-24),reduced);});};const showSuccessRef=useRef(showSuccess);showSuccessRef.current=showSuccess;useEffect(()=>{const on=e=>{const from=e.detail&&e.detail.from;if(from===instanceId||isHidden())return;showSuccessRef.current();};window.addEventListener(SUCCESS_HANDOFF,on);return()=>window.removeEventListener(SUCCESS_HANDOFF,on);},[instanceId]);/** Stripe's payment page (Payment Link), always in a new tab (10/10): the shop stays open here, and Stripe's\n     *  redirect (?kais=paid) shows the thank-you in the new tab. No option: a saved \"Same tab\" is ignored. */const openPaymentLink=()=>{const url=checkout.paymentLink;if(!url)return;// Not \"noopener\" in the features: with it window.open always returns null, so a tab the browser refuses (a\n// strict blocker, some in-app browsers) would leave BUY NOW doing nothing. The new tab is cut loose from this\n// one at once instead, and a refused tab gets Stripe here rather than nothing.\nconst w=window.open(url,\"_blank\");if(w){try{w.opener=null;}catch(_){}}else window.location.assign(url);};// ── Back from Stripe: the hand-over ──\n// The Payment Link redirects to this page with ?kais=paid. The hero becomes the confirmation: the rows leave\n// through their tops and come back as the thank-you, the cap makes one last turn and comes to rest facing the\n// buyer, and a caption band under the rows holds the words, the day and the way back. The section below shows\n// the confirmation too. The marker leaves the address at once, so a reload, a bookmark or a shared link is a\n// normal page.\nconst[landed,setLanded]=useState(false)// the presentation turn has come to rest\n;const[shown,setShown]=useState(false)// the words are in\n;const[morph,setMorph]=useState(false)// animate the cap's move (only when the visitor toggles it)\n;const confirmTextRef=useRef(null);const confirmedRef=useRef(false);confirmedRef.current=confirmed;const capReady=useRef(false);const[capReadyTick,setCapReadyTick]=useState(0);const onCapFirstFrame=useCallback(()=>{capReady.current=true;setCapReadyTick(n=>n+1);},[]);const[paidOn,setPaidOn]=useState(\"\");const previewPaid=isCanvas&&!!checkout.previewPaid;useIsoLayoutEffect(()=>{if(!isBrowser||isCanvas)return;let q;try{q=new URLSearchParams(window.location.search);}catch(_){return;}if(q.get(\"kais\")!==\"paid\")return;if(isHidden())return;// another breakpoint's instance is the one on screen\nq.delete(\"kais\");q.delete(\"session_id\");const rest=q.toString();try{window.history.replaceState(window.history.state,\"\",window.location.pathname+(rest?\"?\"+rest:\"\")+window.location.hash);}catch(_){}cstateRef.current=\"success\";setCstate(\"success\");setPaidOn(stampDate(new Date));setConfirmed(true);track(\"purchase\",{via:\"link\"});},[isCanvas]);// Paid inside the page: the confirmation shows in the section, where the buyer is. The hero says thank you too,\n// like a buyer back from the Payment Link sees it, but only once the buyer next sees the hero (scrolling up or\n// \"back to top\"), so the rows' swap and the cap's last turn play in view instead of off screen. The words in the\n// hero don't take the keyboard focus: the section already said them.\nconst thanksPending=useRef(false);const heroWordsFocus=useRef(true);const[thanksTick,setThanksTick]=useState(0);const queueHeroThanks=()=>{if(isCanvas||confirmedRef.current||thanksPending.current)return;thanksPending.current=true;setThanksTick(n=>n+1);};useEffect(()=>{if(!thanksTick||isCanvas||!thanksPending.current)return;const fire=()=>{if(!thanksPending.current)return;thanksPending.current=false;heroWordsFocus.current=false;setPaidOn(stampDate(new Date));setConfirmed(true);};const el=frameRef.current;if(!el||typeof IntersectionObserver===\"undefined\"){fire();return;}// in view now (the buyer paid up there): wait until it has been out of view and comes back\nconst r=el.getBoundingClientRect();let away=!(r.bottom>window.innerHeight*.2&&r.top<window.innerHeight*.8);const io=new IntersectionObserver(entries=>{const e=entries[entries.length-1];if(!e.isIntersecting||e.intersectionRatio<.2)away=true;else if(away){io.disconnect();fire();}},{threshold:[0,.2,.4]});io.observe(el);return()=>io.disconnect();// eslint-disable-next-line react-hooks/exhaustive-deps\n},[thanksTick,isCanvas]);// Framer canvas: \"Preview paid\" shows the finished state, still\nuseEffect(()=>{if(!isCanvas)return;setConfirmed(previewPaid);setLanded(previewPaid);setShown(previewPaid);setPaidOn(previewPaid?stampDate(new Date):\"\");},[isCanvas,previewPaid]);// The choreography: the turn starts as soon as the cap can be seen (or after 1.8 s whatever happens), the words\n// come in while it slows down, and the day appears as it comes to rest.\nconst started=useRef(false);useEffect(()=>{if(!confirmed||isCanvas||started.current)return;const go=()=>{if(started.current)return;started.current=true;const still=reduced;viewerApi.current&&viewerApi.current.present(PRESENT_DEG,1,still?0:PRESENT_MS);setTimeout(()=>setShown(true),still?0:PRESENT_WORDS_MS);setTimeout(()=>setLanded(true),still?0:PRESENT_MS-150);};if(capReady.current&&entered)go();const wait=setTimeout(go,1800);return()=>clearTimeout(wait);// eslint-disable-next-line react-hooks/exhaustive-deps\n},[confirmed,capReadyTick,entered]);// a cap that only appears after the words (slow connection) still makes its turn when it arrives\nuseEffect(()=>{if(!confirmed||!started.current||!capReady.current||isCanvas)return;viewerApi.current&&viewerApi.current.present(PRESENT_DEG,1,reduced?0:PRESENT_MS);// eslint-disable-next-line react-hooks/exhaustive-deps\n},[capReadyTick]);useEffect(()=>{if(!shown||isCanvas||!heroWordsFocus.current)return;const t=setTimeout(()=>confirmTextRef.current&&confirmTextRef.current.focus({preventScroll:true}),200);return()=>clearTimeout(t);},[shown,isCanvas]);/** \"back to the drop\": the hero is the shop again, the cap goes back to cruising, the section offers BUY NOW. */const backToDrop=()=>{thanksPending.current=false;heroWordsFocus.current=true;setMorph(true);setShown(false);setLanded(false);setConfirmed(false);started.current=false;successShown.current=false;cstateRef.current=\"idle\";setCstate(\"idle\");setDemoOpen(false);setTimeout(()=>heroTitleRef.current&&heroTitleRef.current.focus({preventScroll:true}),450);setTimeout(()=>setMorph(false),1e3);};/** `force`: an explicit request (BUY NOW pressed, Try again). Hover and press prewarms never replace a\n     *  confirmation or retry an error behind the visitor's back. */const prepare=useCallback(force=>{if(mode!==\"embedded\"||isCanvas)return;const c=ctl.current;if(c.disposed||c.instance||c.preparing)return;if(force!==true&&[\"success\",\"error\",\"soldout\",\"expired\"].includes(cstateRef.current))return;// Claim the page's single checkout slot before any await\nconst owner=checkoutOwner.current;if(owner&&owner.id!==instanceId)owner.release();checkoutOwner.current={id:instanceId,release:()=>releaseRef.current()};const gen=++c.generation;setCstate(\"loading\");setErrKind(\"generic\");setIframeReady(false);const saved=readSaved(endpoint);const run=(async()=>{const[StripeCtor,grant]=await Promise.all([loadStripeJs(checkout.stripeJsUrl||DEFAULT_STRIPE_JS),fetchClientSecret(endpoint,pkRaw,saved?saved.secret:undefined)]);const secret=grant.secret;if(c.disposed||gen!==c.generation)return;// Wait for any other instance's pending create() to settle and be torn down first\nawait checkoutSettled;if(c.disposed||gen!==c.generation)return;const stripe=getStripe(StripeCtor,pkRaw);const create=stripe.createEmbeddedCheckoutPage||stripe.initEmbeddedCheckout;if(!create)throw new Error(\"This Stripe.js build exposes no embedded checkout\");let settle=()=>{};checkoutSettled=new Promise(r=>settle=r);let instance;try{instance=await create.call(stripe,{fetchClientSecret:()=>Promise.resolve(secret),onComplete:()=>handleComplete.current()});}catch(err){settle();throw err;}if(c.disposed||gen!==c.generation||!mountRef.current){try{instance.destroy();}catch(_){}settle();return;}settle();c.stopWatch&&c.stopWatch();c.stopWatch=watchIframeLoad(mountRef.current,()=>{setIframeReady(true);track(\"checkout_ready\");});try{instance.mount(mountRef.current);}catch(err){c.stopWatch&&c.stopWatch();c.stopWatch=null;try{instance.destroy();}catch(_){}throw err;}c.instance=instance;c.createdAt=Date.now();c.expiresAt=grant.expiresAt;setCstate(\"ready\");if(grant.expiresAt){// the reservation ends on Stripe's side: close the form 20 s before, so nobody types into a dead checkout\nwriteSaved(endpoint,grant);clearTimeout(c.expiryTimer);c.expiryTimer=setTimeout(()=>expireRef.current(gen),Math.max(0,grant.expiresAt*1e3-Date.now()-2e4));}})();c.preparing=run;run.catch(err=>{if(gen!==c.generation||c.disposed)return;if(err&&err.code===\"soldout\"){setSoldOut(true);setCstate(\"soldout\");track(\"soldout\");return;}console.error(\"[KAIS Cap Store] checkout could not start:\",err);setErrKind(err&&err.code===\"busy\"?\"busy\":\"generic\");setCstate(\"error\");track(\"error\",{message:String(err&&err.message||err)});}).finally(()=>{if(c.preparing===run)c.preparing=null;});},[mode,isCanvas,checkout.stripeJsUrl,endpoint,pkRaw,instanceId]);/** The reservation ran out with the form still open: close it and offer to start again. */const expireRef=useRef(()=>{});expireRef.current=gen=>{const c=ctl.current;if(gen!==c.generation||cstateRef.current===\"success\")return;resetCheckout();clearSaved(endpoint);setCstate(\"expired\");track(\"expired\");};// Lifecycle (StrictMode-safe: the re-run clears `disposed`)\nuseEffect(()=>{const c=ctl.current;c.disposed=false;return()=>{c.disposed=true;clearTimeout(hoverTimer.current);clearTimeout(c.expiryTimer);c.generation++;c.stopWatch&&c.stopWatch();try{c.instance&&c.instance.destroy();}catch(_){}c.instance=null;c.preparing=null;if(checkoutOwner.current&&checkoutOwner.current.id===instanceId)checkoutOwner.current=null;};},[instanceId]);// A live site that asked for a checkout it cannot run says so in the section (never the demo)\nuseEffect(()=>{if(!misconfigured)return;setCstate(\"error\");console.error(\"[KAIS Cap Store] checkout is misconfigured:\\n  • \"+issues.join(\"\\n  • \"));},[misconfigured]);/**\n     * Make sure a fresh, mountable checkout exists. `buy` is the visitor pressing BUY NOW; `scroll` only starts one\n     * when Prewarm is on (with a limited stock every session reserves a cap).\n     */const ensureCheckout=via=>{const c=ctl.current;const explicit=via===\"buy\";if(misconfigured)return;// reaching the section is not opening the checkout: only BUY NOW (or Prewarm starting it) counts, once\nif(!explicit&&!checkout.prewarm)return;if(!openedOnce.current){openedOnce.current=true;track(\"open\",{mode,via});}// an error, a sold out or an expired reservation stays until the visitor acts; scrolling never retries them\nif([\"error\",\"soldout\",\"expired\"].includes(cstateRef.current)&&!explicit)return;if(cstateRef.current===\"success\")return;// the confirmation stays until the visitor leaves it\nconst stale=c.expiresAt?Date.now()>c.expiresAt*1e3-6e4:!!c.createdAt&&Date.now()-c.createdAt>SESSION_MAX_AGE_MS;if(c.instance&&stale)resetCheckout();prepare(true);};/** \"Back to top\": one eased glide up, then focus on the page's h1 — unless the glide was interrupted or the\n     *  visitor put the focus somewhere else meanwhile. */const backToTop=()=>{const from=document.activeElement;glideTo(0,reduced).then(arrived=>{const a=document.activeElement;if(!arrived||a&&a!==document.body&&a!==from)return;heroTitleRef.current&&heroTitleRef.current.focus({preventScroll:true});});};/** A click on the hero's rows (\"2042 KAIS CAP\"): the same glide down to the product (the section's top, less any\n     *  scroll-margin the site gives it for a fixed bar), then focus on its heading so Tab carries on from there —\n     *  unless the glide was interrupted or the visitor put the focus somewhere else meanwhile. */const toShopGliding=useRef(false);const toShop=()=>{const s=sectionRef.current;// a second click (a double click) lets the glide already on its way carry on instead of starting it again\nif(!s||toShopGliding.current)return;const se=document.scrollingElement||document.documentElement;const margin=parseFloat(getComputedStyle(s).scrollMarginTop)||0;const max=Math.max(0,se.scrollHeight-se.clientHeight);const top=clamp(Math.round(s.getBoundingClientRect().top+window.scrollY-margin),0,max);const from=document.activeElement;const again=e=>e.type===\"pointerdown\"&&e.pointerType===\"mouse\"&&!!e.target?.closest?.('[data-link=\"shop\"]');toShopGliding.current=true;glideTo(top,reduced,again).then(arrived=>{toShopGliding.current=false;const a=document.activeElement;if(!arrived||a&&a!==document.body&&a!==from)return;titleRef.current&&titleRef.current.focus({preventScroll:true});});};/** The button just pressed gives way (to the loading form, the demo, a new attempt): keyboard focus moves to the\n     *  checkout area instead of falling back to the page. */const keepFocus=()=>{setTimeout(()=>{const a=document.activeElement;if((!a||a===document.body||!a.isConnected)&&actionRef.current)actionRef.current.focus({preventScroll:true});},0);};/** BUY NOW: Stripe's page (Payment Link), the embedded checkout in place, or the demo. */const onBuyNow=()=>{if(soldOut)return;setPrimed(true);if(misconfigured){track(\"error\",{message:\"misconfigured\"});return;}if(mode===\"paymentLink\"){track(\"open\",{mode,via:\"link\"});openPaymentLink();return;}if(mode===\"demo\"){track(\"open\",{mode,via:\"buy\"});setDemoOpen(true);keepFocus();return;}ensureCheckout(\"buy\");keepFocus();};// The section approaching the viewport unveils the photos (and starts the checkout when Prewarm is on)\nconst ensureRef=useRef(ensureCheckout);ensureRef.current=ensureCheckout;useEffect(()=>{const s=sectionRef.current;if(!s||isCanvas||typeof IntersectionObserver===\"undefined\"){if(!isCanvas&&typeof IntersectionObserver===\"undefined\")setRevealed(true);return;}const io=new IntersectionObserver(([e])=>{if(!e.isIntersecting)return;setRevealed(true);if(mode===\"embedded\")ensureRef.current(\"scroll\");},{rootMargin:\"0px 0px -18% 0px\",threshold:0});io.observe(s);return()=>io.disconnect();},[isCanvas,mode]);// The confirmation must be SEEN before anything replaces it\nuseEffect(()=>{if(cstate!==\"success\")return;const t=setTimeout(()=>{if(isHidden())return;successShown.current=true;// back from Stripe the hero holds the confirmation (and its own focus)\nif(confirmedRef.current)return;successRef.current&&successRef.current.focus({preventScroll:true});},160);return()=>clearTimeout(t);},[cstate]);// Framer canvas: the component has to be \"Fit content\" tall; say so if its frame cuts it short\nuseEffect(()=>{if(!isCanvas||!rootRef.current)return;const check=()=>{const r=rootRef.current;const p=r&&r.parentElement;setHeightIssue(!!(r&&p&&p.offsetHeight>0&&p.offsetHeight+2<r.offsetHeight));};check();const ro=new ResizeObserver(check);rootRef.current.parentElement&&ro.observe(rootRef.current.parentElement);ro.observe(rootRef.current);return()=>ro.disconnect();},[isCanvas]);const onDegrees=useCallback(deg=>{if(degRef.current)degRef.current.textContent=String(deg).padStart(3,\"0\")+\"\\xb0\";},[]);// The readout's text is owned by the loop (no React children), so seed it here\nuseEffect(()=>{onDegrees(Math.round(wrap01(cap.startAngle/360)*360)%360);},[cap.startAngle,cap.showDegrees,onDegrees]);const animateLoop=!isCanvas;const theme=COLUMN_THEME;const canvasH=isCanvas?canvasHeroHeight(W||(rootRef.current?rootRef.current.offsetWidth:0)):undefined;const still=isCanvas||reduced;const capMove=morph&&!reduced?\"top .9s cubic-bezier(.16,1,.3,1), width .9s cubic-bezier(.16,1,.3,1), height .9s cubic-bezier(.16,1,.3,1), margin .9s cubic-bezier(.16,1,.3,1)\":undefined;// ── Hero ──\nconst stage=/*#__PURE__*/_jsxs(\"div\",{ref:frameRef,\"data-kais\":\"stage\",className:\"kais-stage\",children:[/*#__PURE__*/_jsx(AnimatePresence,{initial:false,mode:\"wait\",children:rowsReady&&/*#__PURE__*/_jsx(Rows,{layout:rows,show:entered,still:still,onPick:confirmed||isCanvas?undefined:toShop},confirmed?\"paid\":\"drop\")}),/*#__PURE__*/_jsxs(\"div\",{\"data-kais\":\"cap\",style:{position:\"absolute\",left:\"50%\",top:rowsMid-capLift,width:capW,height:capH,marginLeft:-capW/2,marginTop:-capH/2,zIndex:1,transition:capMove,// a cap that can't be dragged lets a click through to the rows behind it\npointerEvents:cap.draggable&&animateLoop?undefined:\"none\"},children:[/*#__PURE__*/_jsxs(motion.div,{initial:{opacity:0,scale:.96},animate:entered?{opacity:1,scale:1}:{opacity:0,scale:.96},transition:{duration:.9,delay:.35,ease:EASE_OUT_EXPO},style:{position:\"absolute\",inset:0},children:[cap.blend===\"multiply\"&&/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":true,style:{position:\"absolute\",inset:0,background:\"var(--kais-dark)\",pointerEvents:\"none\"}}),cap.shadow&&/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":true,className:isCanvas||reduced?undefined:\"kais-breathe\",style:{position:\"absolute\",left:\"22%\",width:\"56%\",top:`${cap.shadowY}%`,height:\"9%\",background:\"radial-gradient(50% 50% at 50% 50%, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.35) 45%, rgba(0,0,0,0) 100%)\",filter:\"blur(10px)\",opacity:.5,pointerEvents:\"none\"}}),/*#__PURE__*/_jsx(CapViewer,{ref:viewerApi,cap:cap,animate:animateLoop,reduced:reduced,hold:confirmed,onFirstFrame:onCapFirstFrame,onDegrees:cap.showDegrees?onDegrees:undefined})]}),cap.showDegrees&&/*#__PURE__*/_jsx(motion.span,{\"aria-hidden\":true,\"data-kais\":\"readout\",className:\"kais-readout\",initial:{opacity:0},animate:{opacity:entered&&!confirmed?.7:0},transition:{duration:.6,delay:entered&&!confirmed?.6:0,ease:EASE_OUT_EXPO},children:/*#__PURE__*/_jsx(\"span\",{ref:degRef})})]}),/*#__PURE__*/_jsx(AnimatePresence,{initial:false,children:confirmed&&/*#__PURE__*/_jsxs(motion.div,{ref:captionRef,\"data-kais\":\"paid\",role:\"status\",className:\"kais-caption\",\"data-narrow\":narrow?\"true\":undefined,initial:{opacity:1},exit:{opacity:0,transition:{duration:.35,ease:EASE_IN_OUT_SOFT}},style:{left:dropRows.m,right:dropRows.m,bottom:dropRows.m},children:[/*#__PURE__*/_jsx(motion.span,{\"aria-hidden\":true,className:\"kais-caption-rule\",initial:false,animate:{scaleX:shown?1:0},transition:{duration:1.1,ease:EASE_OUT_EXPO}}),/*#__PURE__*/_jsxs(\"div\",{className:\"kais-caption-row\",children:[/*#__PURE__*/_jsxs(motion.p,{ref:confirmTextRef,tabIndex:-1,\"data-kais\":\"paid-text\",className:\"kais-caption-text kais-focus-quiet\",initial:false,animate:{opacity:shown?1:0,y:shown?0:8},transition:{duration:.9,delay:shown?.15:0,ease:EASE_OUT_EXPO},children:[/*#__PURE__*/_jsxs(\"span\",{className:\"kais-sr\",children:[copy.successTitle,\" \"]}),copy.successText]}),/*#__PURE__*/_jsx(motion.span,{\"data-kais\":\"paid-stamp\",className:\"kais-caption-date\",initial:false,animate:{opacity:landed&&paidOn?1:0},transition:{duration:.9,ease:EASE_OUT_EXPO},children:paidOn}),/*#__PURE__*/_jsx(motion.button,{type:\"button\",\"data-kais\":\"paid-back\",className:\"kais-caption-back\",onClick:backToDrop,initial:false,animate:{opacity:shown?1:0},transition:{duration:.8,delay:shown?.45:0,ease:EASE_OUT_EXPO},style:{pointerEvents:shown?\"auto\":\"none\"},children:copy.returnBack})]})]},\"paid\")})]});// ── Product section ──\nconst showStripe=mode===\"embedded\"&&(cstate===\"loading\"||cstate===\"ready\");const loadingStripe=mode===\"embedded\"&&(cstate===\"loading\"||cstate===\"ready\"&&!iframeReady);const showBuy=!misconfigured&&cstate!==\"success\"&&cstate!==\"error\"&&!showStripe&&!(mode===\"demo\"&&demoOpen);const open=showStripe||mode===\"demo\"&&demoOpen;const story=splitStory(product.description);const rule=k=>/*#__PURE__*/_jsx(motion.div,{\"aria-hidden\":true,className:\"kais-rule\",initial:false,animate:{scaleX:revealed||still?1:0},transition:{duration:still?0:1.1,delay:revealed&&!still?.15+k*.12:0,ease:EASE_OUT_EXPO}});const buyArea=/*#__PURE__*/_jsxs(\"div\",{ref:actionRef,className:\"kais-action kais-focus-quiet\",\"data-kais\":\"action\",tabIndex:-1,\"aria-busy\":loadingStripe||undefined,children:[/*#__PURE__*/_jsx(\"div\",{ref:mountRef,\"data-kais\":\"stripe-mount\",className:\"kais-pay\",style:{display:showStripe?\"block\":\"none\",opacity:iframeReady?1:0,transition:\"opacity .5s cubic-bezier(.16,1,.3,1)\",minHeight:cstate===\"ready\"&&!iframeReady?1:undefined}}),loadingStripe||isCanvas&&mode===\"embedded\"&&checkout.prewarm?/*#__PURE__*/_jsx(\"div\",{className:\"kais-pay\",style:{position:cstate===\"ready\"&&!iframeReady?\"absolute\":\"relative\",left:0,top:cstate===\"ready\"&&!iframeReady?0:undefined},children:/*#__PURE__*/_jsx(Skeleton,{theme:theme,still:isCanvas})}):null,showBuy&&/*#__PURE__*/_jsxs(\"div\",{className:\"kais-buy-wrap\",\"data-kais\":mode===\"embedded\"?\"start\":undefined,children:[cstate===\"expired\"&&/*#__PURE__*/_jsx(\"p\",{\"data-kais\":\"expired\",role:\"status\",className:\"kais-note kais-note-text\",children:copy.expiredText}),soldOut&&/*#__PURE__*/_jsx(\"p\",{\"data-kais\":\"soldout\",role:\"status\",className:\"kais-note kais-note-text\",children:copy.soldOutText}),/*#__PURE__*/_jsxs(\"button\",{ref:buyRef,type:\"button\",className:\"kais-pill\",\"data-kais\":\"buy\",\"aria-controls\":mode===\"embedded\"?`${sectionId}-checkout`:undefined,\"aria-disabled\":soldOut||undefined,onClick:onBuyNow,onPointerDown:()=>{setPrimed(true);checkout.prewarm&&prepare();},onPointerEnter:e=>{if(e.pointerType!==\"mouse\"||!checkout.prewarm||mode!==\"embedded\")return;clearTimeout(hoverTimer.current);hoverTimer.current=setTimeout(()=>prepare(),140);},onPointerLeave:()=>clearTimeout(hoverTimer.current),children:[/*#__PURE__*/_jsx(\"span\",{className:\"kais-pill-label\",\"data-kais\":\"buy-label\",children:soldOut?copy.soldOutLabel:product.cta||\"buy now\"}),!soldOut&&mode===\"paymentLink\"?/*#__PURE__*/_jsxs(\"span\",{className:\"kais-sr\",children:[\" \",\"(opens in a new tab)\"]}):null]}),mode===\"embedded\"&&!soldOut&&copy.holdNote?/*#__PURE__*/_jsx(\"p\",{\"data-kais\":\"hold-note\",className:\"kais-note\",children:copy.holdNote}):null]}),cstate===\"error\"&&/*#__PURE__*/_jsxs(\"div\",{\"data-kais\":\"error\",role:\"alert\",className:\"kais-state\",children:[/*#__PURE__*/_jsx(\"p\",{className:\"kais-note-text\",children:errKind===\"busy\"?copy.busyText:copy.errorText}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:12,flexWrap:\"wrap\"},children:[!misconfigured&&/*#__PURE__*/_jsx(TextButton,{theme:theme,solid:true,dataKais:\"retry\",onClick:()=>{cstateRef.current=\"idle\";setCstate(\"idle\");setTimeout(()=>prepare(true),0);keepFocus();},children:copy.retryLabel}),checkout.paymentLink?/*#__PURE__*/_jsxs(TextButton,{theme:theme,solid:misconfigured,dataKais:\"stripe-fallback\",onClick:openPaymentLink,children:[copy.fallbackLabel||\"pay on Stripe\",/*#__PURE__*/_jsxs(\"span\",{className:\"kais-sr\",children:[\" \",\"(opens in a new tab)\"]})]}):null]})]}),cstate===\"success\"&&/*#__PURE__*/_jsxs(motion.div,{\"data-kais\":\"success\",role:\"status\",className:\"kais-state\",initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{duration:.7,ease:EASE_OUT_EXPO},children:[/*#__PURE__*/_jsx(\"h3\",{ref:successRef,tabIndex:-1,className:\"kais-success-title kais-focus-quiet\",children:copy.successTitle}),/*#__PURE__*/_jsx(\"p\",{className:\"kais-note-text\",children:copy.successText}),mode===\"demo\"&&/*#__PURE__*/_jsx(\"p\",{\"data-kais\":\"demo-note\",className:\"kais-note\",style:{textAlign:\"left\"},children:copy.demoSuccessNote}),/*#__PURE__*/_jsx(TextButton,{theme:theme,dataKais:\"back\",onClick:backToTop,children:copy.backLabel})]}),mode===\"demo\"&&demoOpen&&!misconfigured&&cstate!==\"success\"&&/*#__PURE__*/_jsxs(\"div\",{\"data-kais\":\"demo\",className:\"kais-state\",style:{gap:22},children:[/*#__PURE__*/_jsx(Skeleton,{theme:theme,still:isCanvas}),/*#__PURE__*/_jsx(\"p\",{className:\"kais-note\",style:{textAlign:\"left\"},children:copy.demoNote}),/*#__PURE__*/_jsx(TextButton,{theme:theme,dataKais:\"demo-complete\",onClick:()=>{setCstate(\"success\");queueHeroThanks();track(\"purchase\",{demo:true});},children:copy.demoButton})]})]});const column=/*#__PURE__*/_jsxs(\"div\",{ref:columnRef,className:\"kais-info\",\"data-kais\":\"checkout\",id:`${sectionId}-checkout`,children:[/*#__PURE__*/_jsxs(\"div\",{className:\"kais-head\",children:[/*#__PURE__*/_jsx(\"h2\",{ref:titleRef,id:headId,tabIndex:-1,className:\"kais-title kais-focus-quiet\",\"data-kais\":\"shop-title\",children:titleLines.map((l,i)=>/*#__PURE__*/_jsx(\"span\",{className:\"kais-title-line\",children:l},i))}),product.price||product.priceNote?/*#__PURE__*/_jsxs(\"p\",{className:\"kais-price\",\"data-kais\":\"price\",children:[product.price?/*#__PURE__*/_jsx(\"span\",{className:\"kais-price-amount\",children:product.price}):null,product.priceNote?/*#__PURE__*/_jsx(\"span\",{className:\"kais-price-note\",children:product.priceNote}):null]}):null]}),/*#__PURE__*/_jsxs(\"div\",{ref:bodyRef,className:\"kais-body\",children:[rule(0),story.length>0&&/*#__PURE__*/_jsx(\"div\",{ref:storyRef,className:\"kais-story\",\"data-kais\":\"story\",children:story.map((g,i)=>/*#__PURE__*/_jsx(\"div\",{className:\"kais-story-group\",children:g.map((p,j)=>/*#__PURE__*/_jsx(\"p\",{children:p},j))},i))}),rule(1),buyArea]})]});const canvasIssues=[...testing?[`Test price is ON: buy now opens the test link (${testLabel||\"test price\"}). Switch it off before launch`]:[],...checkoutIn.testPrice===true&&!testing?[\"Test price is on but the Test link isn't a https:// address: the real link is used\"]:[],...issues,// Only when nothing can take a payment yet: the Payment Link alone is a finished setup (10/10), not a gap\n...checkout.mode===\"auto\"&&!endpoint&&!checkout.paymentLink?[\"Paste the Payment Link (or, for the payment inside the page, the Session URL from the Worker's …/api/status): the demo meanwhile\"]:[],...images.length?[]:[\"Gallery: add the photos in Gallery → Images (the section shows the text alone meanwhile)\"],...heightIssue?[\"Set this layer's Height to Fit Content: the product section sits under the hero\"]:[],...!display.picked?[`Display font: pick Repro Ultra (${props.loadFonts!==false?\"Archivo Black stands in meanwhile\":\"stand-in fonts are off\"})`]:[],...!text.picked?[`Text font: pick Diatype Variable (${props.loadFonts!==false?\"Inter stands in meanwhile\":\"stand-in fonts are off\"})`]:[]];const vars={\"--kais-dark\":colors.dark||K.dark,\"--kais-grey\":colors.grey||K.grey,\"--kais-light\":colors.light||K.light,\"--kais-accent\":colors.accent||K.red,\"--kais-display\":display.family,\"--kais-display-w\":display.weight,\"--kais-display-s\":display.style,\"--kais-text\":text.family,\"--kais-text-w\":text.weight,\"--kais-text-s\":text.style,\"--kais-dcap\":dcap.toFixed(4),\"--kais-title-ratio\":titleRatio.toFixed(4),\"--kais-title-lead\":titleLead.toFixed(4),\"--kais-title-desc\":titleDesc.toFixed(4),\"--kais-amount-desc\":amountDesc.toFixed(4),\"--kais-note-desc\":noteDesc.toFixed(4),\"--kais-hero-tail\":heroTail+\"px\"};return /*#__PURE__*/_jsx(MotionConfig,{reducedMotion:\"user\",children:/*#__PURE__*/_jsxs(\"div\",{ref:rootRef,className:\"kais-root\",\"data-kais\":\"root\",style:{position:\"relative\",width:\"100%\",...props.style,height:\"auto\",...vars},children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:CSS}}),/*#__PURE__*/_jsxs(\"div\",{className:\"kais-hero\",\"data-kais\":\"hero\",\"data-paid\":confirmed?\"true\":undefined,style:canvasH?{height:canvasH}:undefined,children:[/*#__PURE__*/_jsx(\"h1\",{ref:heroTitleRef,tabIndex:-1,className:\"kais-sr\",\"data-kais\":\"title\",children:heroText}),isCanvas&&/*#__PURE__*/_jsx(CanvasStatus,{mode:mode,requested:checkout.mode,pk:pkRaw,issues:canvasIssues}),props.grain&&/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":true,className:\"kais-grain\"}),stage]}),/*#__PURE__*/_jsxs(\"section\",{ref:sectionRef,id:sectionId,className:\"kais-shop\",\"data-kais\":\"shop\",\"data-cols\":images.length?\"2\":\"1\",\"data-price\":product.price||product.priceNote?undefined:\"none\",\"data-open\":open?\"true\":undefined,\"data-revealed\":revealed?\"true\":undefined,\"aria-labelledby\":headId,children:[/*#__PURE__*/_jsxs(\"div\",{className:\"kais-shop-inner\",children:[column,images.length>0&&/*#__PURE__*/_jsx(Gallery,{images:stableImages,tile:gallery.backdrop||\"transparent\",fit:gallery.fit===\"cover\"?\"cover\":\"contain\",zoomable:gallery.zoom!==false,reduced:reduced,isCanvas:isCanvas,revealed:revealed||reduced,name:productName,primed:primed})]}),footer.show!==false&&/*#__PURE__*/_jsx(\"footer\",{className:\"kais-foot\",\"data-kais\":\"footer\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"kais-foot-row\",children:[/*#__PURE__*/_jsx(\"span\",{children:footer.left}),props.logoLink?/*#__PURE__*/_jsxs(\"a\",{href:props.logoLink,target:\"_blank\",rel:\"noopener noreferrer\",className:\"kais-foot-link\",\"data-kais\":\"footer-link\",children:[footer.center,/*#__PURE__*/_jsxs(\"span\",{className:\"kais-sr\",children:[\" \",\"(opens in a new tab)\"]})]}):/*#__PURE__*/_jsx(\"span\",{children:footer.center}),/*#__PURE__*/_jsx(\"span\",{children:footer.right})]})})]})]})});}const GRAIN_SVG=\"data:image/svg+xml;utf8,\"+encodeURIComponent(`<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.5 0'/></filter><rect width='100%' height='100%' filter='url(#n)'/></svg>`);/**\n * Layout in CSS (container queries on the section's own width), so the server render and the first paint already\n * have the right columns. Distances measured off the design at 1429 px, cap top to baseline where text is concerned\n * (text-box trim makes the boxes exactly that), then Ángel's notes of 07/10 (same on phones):\n *   rows → title twice the design's space (the section's padding adds the hero's empty band under the rows, so the\n *   gap doubles) · title lines 0.3 cap of clear space between their inks · title → price = price → rule, ink to\n *   ink (36 px; 28 on phones) · price 15 % larger (cap 19.55, note 8.51) · rule → story 31 · story lines 24 apart,\n *   every paragraph +16 (blank lines too) · story → rule 41 · rules end at the story's longest line · rule → BUY NOW\n *   46 · BUY NOW 109 × 39, centred under the rules · BUY NOW → footer rule 107 · footer rule → text 9 · text → bottom\n *   12 · photo square = the right column.\n * Display type is sized by cap height: font-size = cap height ÷ the face's cap ratio (measured, --kais-dcap).\n */const CSS=`\n.kais-root, .kais-root * { box-sizing: border-box; }\n.kais-root { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; overflow-x: clip; background: var(--kais-dark); color: var(--kais-light); font-family: var(--kais-text); font-weight: var(--kais-text-w); font-style: var(--kais-text-s); font-synthesis: none; }\n:where(.kais-root) :where(p, h1, h2, h3) { margin: 0; }\n.kais-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }\n.kais-focus-quiet:focus { outline: none; }\n\n/* ── hero ── */\n.kais-hero { position: relative; height: 100vh; height: 100svh; overflow: hidden; isolation: isolate; background: var(--kais-dark); }\n.kais-stage { position: absolute; inset: 0; overflow: hidden; }\n.kais-rows { position: absolute; inset: 0; pointer-events: none; }\n.kais-rows-link .kais-row { pointer-events: auto; cursor: pointer; user-select: none; -webkit-user-select: none; -webkit-tap-highlight-color: transparent; }\n.kais-row { position: absolute; left: 0; right: 0; overflow: hidden; }\n.kais-row svg { display: block; overflow: visible; }\n.kais-row text { font-family: var(--kais-display); font-weight: var(--kais-display-w); font-style: var(--kais-display-s); font-synthesis: none; fill: var(--kais-grey); white-space: pre; }\n.kais-readout { position: absolute; left: 0; right: 0; top: 100%; margin-top: 8px; text-align: center; font-size: 11px; line-height: 16px; letter-spacing: .08em; color: var(--kais-grey); font-variant-numeric: tabular-nums; }\n.kais-grain { position: absolute; inset: 0; z-index: 5; pointer-events: none; background-image: url(\"${GRAIN_SVG}\"); background-size: 220px 220px; opacity: .05; mix-blend-mode: screen; }\n@keyframes kais-breathe { 0%, 100% { opacity: .4 } 50% { opacity: .55 } }\n.kais-breathe { animation: kais-breathe 5.2s cubic-bezier(.45,0,.15,1) infinite; }\n\n/* back from Stripe: a band like the footer's, under the thank-you */\n.kais-caption { position: absolute; z-index: 2; font-size: 17px; line-height: 24px; color: var(--kais-light); }\n.kais-caption-rule { display: block; height: 1px; background: var(--kais-grey); transform-origin: 0 50%; }\n.kais-caption-row { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: baseline; column-gap: 24px; padding-top: 9px; }\n.kais-caption-row > * { text-box: trim-both cap alphabetic; }\n.kais-caption-text { justify-self: start; text-wrap: pretty; }\n.kais-caption-date { justify-self: center; color: var(--kais-grey); font-variant-numeric: tabular-nums; white-space: nowrap; }\n.kais-caption-back { justify-self: end; position: relative; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; white-space: nowrap; }\n.kais-caption-back::after { content: \"\"; position: absolute; left: 0; right: 0; bottom: -3px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: 0 50%; transition: transform .5s cubic-bezier(.16,1,.3,1); }\n.kais-caption-back:hover::after, .kais-caption-back:focus-visible::after { transform: scaleX(1); }\n.kais-caption-back:focus-visible { outline: 1px solid var(--kais-light); outline-offset: 4px; }\n.kais-caption[data-narrow] { font-size: 15px; line-height: 22px; }\n.kais-caption[data-narrow] .kais-caption-row { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: \"text text\" \"date back\"; row-gap: 10px; }\n.kais-caption[data-narrow] .kais-caption-text { grid-area: text; }\n.kais-caption[data-narrow] .kais-caption-date { grid-area: date; justify-self: start; }\n.kais-caption[data-narrow] .kais-caption-back { grid-area: back; }\n\n/* ── product section ── */\n.kais-shop { position: relative; container-type: inline-size; container-name: kais; background: var(--kais-dark); --kais-pad: clamp(16px, 1.96cqw, 40px); --kais-colgap: clamp(20px, 1.68cqw, 32px); }\n/* --kais-col: the text column's width; --kais-g: the space above and under the price, ink to ink */\n.kais-shop-inner { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: \"head\" \"gallery\" \"body\"; padding: calc(88px + var(--kais-hero-tail, 0px)) var(--kais-pad) 80px; --kais-col: calc(100cqw - 2 * var(--kais-pad)); --kais-g: 28px; --kais-amount-cap: 17.25px; --kais-note-cap: 8.51px; --kais-price-hang: max(calc(var(--kais-amount-cap) * var(--kais-amount-desc, 0)), calc(var(--kais-note-cap) * var(--kais-note-desc, .2))); --cap: min(clamp(21px, 2.8cqw, 44px), calc(var(--kais-col) / var(--kais-title-ratio, 21))); }\n/* no price: what follows the title keeps the same space from the title's own ink */\n.kais-shop[data-price=\"none\"] .kais-shop-inner { --kais-price-hang: calc(var(--cap) * var(--kais-title-desc, .2)); }\n.kais-info { display: contents; }\n.kais-head { grid-area: head; }\n.kais-body { grid-area: body; }\n.kais-title { font-family: var(--kais-display); font-weight: var(--kais-display-w); font-style: var(--kais-display-s); color: var(--kais-grey); font-size: calc(var(--cap) / var(--kais-dcap)); line-height: calc(var(--cap) * var(--kais-title-lead, 1.35)); text-box: trim-both cap alphabetic; }\n.kais-title-line { display: block; white-space: nowrap; }\n.kais-price { margin-top: calc(var(--kais-g) + var(--cap) * var(--kais-title-desc, .2)); font-family: var(--kais-display); font-weight: var(--kais-display-w); font-style: var(--kais-display-s); color: var(--kais-light); font-size: calc(var(--kais-amount-cap) / var(--kais-dcap)); line-height: 1.15; text-box: trim-both cap alphabetic; }\n.kais-price-note { display: inline-block; margin-left: .44em; font-size: calc(var(--kais-note-cap) / var(--kais-dcap)); }\n.kais-rule { width: var(--kais-rule-w, 100%); max-width: 100%; height: 1px; background: var(--kais-grey); transform-origin: 0 50%; }\n.kais-body > .kais-rule:first-child { margin-top: 32px; }\n.kais-shop[data-cols=\"1\"] .kais-body > .kais-rule:first-child { margin-top: calc(var(--kais-g) + var(--kais-price-hang)); }\n.kais-story { margin-top: 26px; font-size: 16px; line-height: 23px; text-box: trim-both cap alphabetic; }\n.kais-story { max-width: 40em; }\n.kais-story p { text-wrap: pretty; }\n.kais-story p + p, .kais-story-group + .kais-story-group { margin-top: 15px; }\n.kais-story + .kais-rule { margin-top: 36px; }\n.kais-action { position: relative; margin-top: 40px; }\n.kais-buy-wrap { display: grid; justify-items: center; gap: 14px; width: var(--kais-rule-w, 100%); max-width: 100%; }\n.kais-pill { position: relative; display: inline-flex; align-items: center; justify-content: center; height: 44px; padding: 0 26px; border: 0; border-radius: 999px; background: var(--kais-accent); color: var(--kais-light); font: inherit; font-size: 17px; line-height: 1; cursor: pointer; -webkit-tap-highlight-color: transparent; transition: transform .45s cubic-bezier(.16,1,.3,1), background-color .3s cubic-bezier(.45,0,.15,1), color .3s cubic-bezier(.45,0,.15,1); }\n.kais-pill-label { display: block; text-box: trim-both cap alphabetic; white-space: nowrap; }\n.kais-pill:hover { background: color-mix(in srgb, var(--kais-accent) 86%, #000); }\n.kais-pill:active { transform: scale(.97); transition-duration: .12s; }\n.kais-pill:focus-visible { outline: 2px solid var(--kais-light); outline-offset: 3px; }\n.kais-pill[aria-disabled=\"true\"] { background: transparent; color: var(--kais-grey); box-shadow: inset 0 0 0 1px currentColor; cursor: default; transform: none; }\n.kais-note { font-size: 13px; line-height: 19px; color: var(--kais-grey); text-align: center; max-width: 36ch; }\n.kais-note-text { font-size: 16px; line-height: 23px; color: var(--kais-light); max-width: 46ch; text-align: center; }\n.kais-state { display: grid; gap: 18px; justify-items: start; }\n/* the payment area (Stripe's form, its skeleton, every state) is as wide as the rules above it, 360 px at least */\n.kais-pay, .kais-state { width: max(var(--kais-rule-w, 100%), min(100%, 360px)); max-width: 100%; }\n.kais-state .kais-note-text { text-align: left; }\n.kais-success-title { font-family: var(--kais-display); font-weight: var(--kais-display-w); font-style: var(--kais-display-s); color: var(--kais-grey); font-size: calc(24px / var(--kais-dcap)); line-height: 1; text-box: trim-both cap alphabetic; }\n.kais-textbtn { transition: background-color .25s cubic-bezier(.45,0,.15,1), color .25s cubic-bezier(.45,0,.15,1), border-color .25s cubic-bezier(.45,0,.15,1); }\n.kais-textbtn:hover:not([data-solid]) { border-color: var(--kais-light) !important; }\n.kais-textbtn:focus-visible { outline: 2px solid var(--kais-light); outline-offset: 3px; }\n@keyframes kais-shimmer { 0% { background-position: 150% 0 } 100% { background-position: -50% 0 } }\n.kais-shimmer { animation: kais-shimmer 1.8s cubic-bezier(.45,0,.15,1) infinite; }\n\n/* gallery: the photo square, a counter and two arrows under it */\n.kais-gal { grid-area: gallery; position: relative; min-width: 0; margin: calc(var(--kais-g) + var(--kais-price-hang)) 0 8px; }\n.kais-gal-main { display: flex; flex-direction: column; align-items: center; min-width: 0; }\n.kais-gal-stage { position: relative; width: min(100%, 70vh); width: min(100%, 70svh); aspect-ratio: 1 / 1; overflow: hidden; background: var(--kais-tile); touch-action: pan-y; user-select: none; -webkit-user-select: none; -webkit-tap-highlight-color: transparent; outline: none; }\n.kais-gal-stage:focus-visible { outline: 1px solid var(--kais-grey); outline-offset: 4px; }\n.kais-gal-reveal, .kais-gal-track { position: absolute; inset: 0; }\n.kais-gal-track { display: flex; will-change: transform; }\n.kais-gal-slide { position: relative; flex: 0 0 100%; height: 100%; }\n.kais-gal-media, .kais-gal-enter, .kais-gal-zoom { position: absolute; inset: 0; }\n.kais-gal-img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; pointer-events: none; transition: opacity .6s cubic-bezier(.16,1,.3,1); -webkit-user-drag: none; }\n.kais-gal-meta { width: min(100%, 70vh); width: min(100%, 70svh); display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 6px; color: var(--kais-grey); }\n.kais-gal-count { font-size: 13px; line-height: 16px; font-variant-numeric: tabular-nums; white-space: nowrap; }\n.kais-gal-count-now { position: relative; display: inline-block; vertical-align: top; overflow: hidden; }\n.kais-gal-arrows { display: flex; gap: 2px; margin-right: -9px; }\n.kais-gal-arrow { width: 36px; height: 36px; display: grid; place-items: center; border: 0; background: transparent; color: var(--kais-grey); cursor: pointer; border-radius: 999px; transition: opacity .25s cubic-bezier(.45,0,.15,1), transform .35s cubic-bezier(.16,1,.3,1), color .25s; }\n.kais-gal-arrow:hover:not([aria-disabled=\"true\"]) { color: var(--kais-light); transform: translateX(var(--kais-nudge, 0)); }\n.kais-gal-arrow:focus-visible { outline: 1px solid currentColor; outline-offset: 0; }\n.kais-gal-arrow[data-kais=\"gallery-prev\"] { --kais-nudge: -2px; }\n.kais-gal-arrow[data-kais=\"gallery-next\"] { --kais-nudge: 2px; }\n.kais-gal-arrow[aria-disabled=\"true\"] { opacity: .25; cursor: default; }\n\n/* footer */\n.kais-foot { padding: 0 clamp(6px, .45cqw, 12px) 12px; font-size: 17px; line-height: 24px; }\n.kais-foot-row { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: baseline; column-gap: 16px; padding-top: 9px; border-top: 1px solid var(--kais-grey); }\n.kais-foot-row > * { text-box: trim-both cap alphabetic; }\n.kais-foot-row > :first-child { justify-self: start; }\n.kais-foot-row > :last-child { justify-self: end; text-align: right; }\n.kais-foot-link { position: relative; color: inherit; text-decoration: none; }\n.kais-foot-link::after { content: \"\"; position: absolute; left: 0; right: 0; bottom: -3px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: 0 50%; transition: transform .5s cubic-bezier(.16,1,.3,1); }\n.kais-foot-link:hover::after, .kais-foot-link:focus-visible::after { transform: scaleX(1); }\n.kais-foot-link:focus-visible { outline: 1px solid currentColor; outline-offset: 4px; }\n\n@container kais (max-width: 559px) {\n  .kais-foot { font-size: 13px; }\n  .kais-foot-row { display: flex; justify-content: space-between; column-gap: 12px; }\n  .kais-foot-row > * { white-space: nowrap; }\n}\n\n/* two columns: the text left, the photo square right, centred on the text (it takes no height of its own, so the\n   text keeps the design's spacing; a cut-out photo's empty margins may reach into the padding) */\n@container kais (min-width: 720px) {\n  .kais-shop-inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: none; column-gap: var(--kais-colgap); padding: calc(114px + var(--kais-hero-tail, 0px)) var(--kais-pad) 107px; --kais-col: calc((100cqw - 2 * var(--kais-pad) - var(--kais-colgap)) / 2); --kais-g: 36px; --kais-amount-cap: 19.55px; }\n  .kais-info { display: block; grid-column: 1; grid-row: 1; }\n  .kais-shop[data-cols=\"1\"] .kais-shop-inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }\n  .kais-price-note { margin-left: 8px; }\n  .kais-body > .kais-rule:first-child, .kais-shop[data-cols=\"1\"] .kais-body > .kais-rule:first-child { margin-top: calc(var(--kais-g) + var(--kais-price-hang)); }\n  .kais-story { margin-top: 31px; font-size: 17px; line-height: 24px; }\n  .kais-story p + p, .kais-story-group + .kais-story-group { margin-top: 16px; }\n  .kais-story + .kais-rule { margin-top: 41px; }\n  .kais-action { margin-top: 46px; }\n  .kais-pill { height: 39px; padding: 0 21px; }\n  .kais-note-text { font-size: 17px; line-height: 24px; }\n  /* the photo square is the column's width (the design: 675 px against 628 px of text at 1429), but never more\n     than the text's height + 100 px (so it reaches at most 50 px into the padding above and below, wherever the\n     screen is wide) nor than the screen's height − 90 px. The grid item is a size container for that: its width\n     is the column, its height the text's. */\n  .kais-gal { grid-column: 2; grid-row: 1; align-self: stretch; margin: 0; container-type: size; --kais-sq: min(100cqw, calc(100cqh + 100px), calc(100vh - 90px)); }\n  .kais-gal-main { position: absolute; left: 50%; top: 50%; width: var(--kais-sq); transform: translate(-50%, -50%); }\n  .kais-gal-stage, .kais-gal-meta { width: 100%; }\n  /* the counter and the arrows sit inside the square, on its bottom edge (the photos are cut out, the band is\n     empty): hung under it they came within 25 px of the footer on wide screens (\\xc1ngel, 07/10) */\n  .kais-gal-meta { position: absolute; bottom: 0; left: 0; right: 0; z-index: 2; padding-top: 0; pointer-events: none; }\n  .kais-gal-arrows { pointer-events: auto; }\n  /* zoomed in, the photo has the whole square: the counter and the arrows step aside until it zooms out */\n  .kais-gal-stage[data-zoomed=\"true\"] + .kais-gal-meta { visibility: hidden; }\n  /* checkout open: the form makes the column long, the photo stays in view instead of drifting to its middle */\n  /* (a fixed 24 px: --kais-pad is in cqw, which inside this size container would mean the column's width) */\n  .kais-shop[data-open] .kais-gal-main { position: sticky; top: 24px; left: auto; transform: none; margin: 0 auto; }\n}\n@media (prefers-reduced-motion: reduce) { .kais-breathe, .kais-shimmer { animation: none; } .kais-gal-img, .kais-gal-arrow, .kais-pill, .kais-caption-back::after, .kais-foot-link::after { transition: none; } }\n`;KaisCapStore.displayName=\"KAIS Cap Store\";// ─── Property controls ───────────────────────────────────────────────────────\n// hidden() inside an Object control: read the field from the object's props or, failing that, from root props\nconst capField=(p,k)=>p&&k in p?p[k]:p&&p.cap?p.cap[k]:undefined;const checkoutField=(p,k)=>p&&k in p?p[k]:p&&p.checkout?p.checkout[k]:undefined;addPropertyControls(KaisCapStore,{heroText:{type:ControlType.String,title:\"Hero text\",defaultValue:HERO_TEXT,description:\"Repeated edge to edge over the whole screen. Also the page's h1.\"},displayFont:{type:ControlType.Font,title:\"Display font\",controls:\"basic\",defaultFontType:\"sans-serif\",description:\"Repro Ultra (add it in Site Settings → Fonts, then pick it here). Hero rows, title, price.\"},textFont:{type:ControlType.Font,title:\"Text font\",controls:\"basic\",defaultFontType:\"sans-serif\",description:\"Diatype Variable, Medium. Story, BUY NOW, footer.\"},product:{type:ControlType.Object,title:\"Product\",controls:{title:{type:ControlType.String,title:\"Title\",defaultValue:PRODUCT_DEFAULTS.title,displayTextArea:true,description:\"One line per line.\"},price:{type:ControlType.String,title:\"Price\",defaultValue:PRODUCT_DEFAULTS.price},priceNote:{type:ControlType.String,title:\"Price note\",defaultValue:PRODUCT_DEFAULTS.priceNote},description:{type:ControlType.String,title:\"Story\",defaultValue:PRODUCT_DEFAULTS.description,displayTextArea:true,description:\"A line break starts a paragraph; an empty line leaves a wider gap.\"},cta:{type:ControlType.String,title:\"Button\",defaultValue:PRODUCT_DEFAULTS.cta}}},cap:{type:ControlType.Object,title:\"Cap 360\\xb0\",controls:{source:{type:ControlType.Enum,title:\"Source\",options:[\"model\",\"placeholder\",\"frames\",\"video\",\"image\"],optionTitles:[\"3D model\",\"Line drawing\",\"Frames\",\"Video\",\"Still image\"],defaultValue:CAP_DEFAULTS.source,description:\"3D model: the real KAIS cap, rebuilt in 3D from the reference photos.\"},quality:{type:ControlType.Enum,title:\"Quality\",options:[\"auto\",\"high\",\"low\"],optionTitles:[\"Auto\",\"High\",\"Light\"],displaySegmentedControl:true,defaultValue:\"auto\",hidden:p=>(capField(p,\"source\")||\"model\")!==\"model\"},threeUrl:{type:ControlType.String,title:\"three.js URL\",defaultValue:DEFAULT_THREE_URL,description:\"ES module build of three.js (r160+). Leave as is unless you self-host it.\",hidden:p=>(capField(p,\"source\")||\"model\")!==\"model\"},frames:{type:ControlType.Array,title:\"Frames\",control:{type:ControlType.ResponsiveImage},hidden:p=>capField(p,\"source\")!==\"frames\"},framesPattern:{type:ControlType.String,title:\"Frames URL\",placeholder:\"https://…/cap-frame-{nnn}.webp\",description:\"Used when the Frames list is empty. {nnn} = zero-padded index.\",hidden:p=>capField(p,\"source\")!==\"frames\"},frameCount:{type:ControlType.Number,title:\"Count\",min:2,max:360,step:1,defaultValue:CAP_DEFAULTS.frameCount,hidden:p=>capField(p,\"source\")!==\"frames\"},frameStart:{type:ControlType.Number,title:\"First #\",min:0,max:10,step:1,defaultValue:CAP_DEFAULTS.frameStart,hidden:p=>capField(p,\"source\")!==\"frames\"},frameBlend:{type:ControlType.Boolean,title:\"Blend\",defaultValue:true,hidden:p=>capField(p,\"source\")!==\"frames\"},video:{type:ControlType.File,title:\"Video\",allowedFileTypes:[\"mp4\",\"webm\",\"mov\"],hidden:p=>capField(p,\"source\")!==\"video\"},poster:{type:ControlType.ResponsiveImage,title:\"Poster\",hidden:p=>capField(p,\"source\")!==\"video\"},image:{type:ControlType.ResponsiveImage,title:\"Image\",hidden:p=>capField(p,\"source\")!==\"image\"},period:{type:ControlType.Number,title:\"Turn (s)\",min:4,max:60,step:.5,defaultValue:CAP_DEFAULTS.period,unit:\"s\"},direction:{type:ControlType.Enum,title:\"Direction\",options:[\"right\",\"left\"],optionTitles:[\"→\",\"←\"],displaySegmentedControl:true,defaultValue:\"right\"},startAngle:{type:ControlType.Number,title:\"Start \\xb0\",min:0,max:359,step:1,defaultValue:CAP_DEFAULTS.startAngle},draggable:{type:ControlType.Boolean,title:\"Drag\",defaultValue:true},invertDrag:{type:ControlType.Boolean,title:\"Invert drag\",defaultValue:false,hidden:p=>capField(p,\"draggable\")===false},blend:{type:ControlType.Enum,title:\"Blend mode\",options:[\"normal\",\"multiply\"],optionTitles:[\"Normal\",\"Multiply\"],displaySegmentedControl:true,defaultValue:\"normal\",description:\"Multiply melts a white background into the page.\",hidden:p=>[\"model\",\"placeholder\"].includes(capField(p,\"source\")||\"model\")},aspect:{type:ControlType.Number,title:\"Aspect\",min:.5,max:3,step:.01,defaultValue:CAP_DEFAULTS.aspect,description:\"Width \\xf7 height of your frames or video (1080\\xd7864 → 1.25).\",hidden:p=>[\"model\",\"placeholder\"].includes(capField(p,\"source\")||\"model\")},capSize:{type:ControlType.Number,title:\"Size\",min:20,max:100,step:1,unit:\"%\",defaultValue:CAP_DEFAULTS.scale,description:\"Of the cap in the design: 100 = as big as in the design, 40 = the size asked for (07/10).\"},groundShadow:{type:ControlType.Boolean,title:\"Shadow\",defaultValue:false},shadowY:{type:ControlType.Number,title:\"Shadow Y\",min:50,max:100,step:1,unit:\"%\",defaultValue:CAP_DEFAULTS.shadowY,hidden:p=>capField(p,\"groundShadow\")!==true},degrees:{type:ControlType.Boolean,title:\"Degrees\",defaultValue:false,description:\"The turn's angle under the cap.\"},drawingColor:{type:ControlType.Color,title:\"Line\",defaultValue:CAP_DEFAULTS.lineColor,description:\"Line drawing (also the fallback of the 3D model).\",hidden:p=>![\"model\",\"placeholder\"].includes(capField(p,\"source\")||\"model\")}}},gallery:{type:ControlType.Object,title:\"Gallery\",controls:{images:{type:ControlType.Array,title:\"Images\",control:{type:ControlType.ResponsiveImage},maxCount:12,description:\"Square photos work best; the first is the one in the design. Cut-outs (transparent) sit straight on the page.\"},backdrop:{type:ControlType.Color,title:\"Backdrop\",defaultValue:GALLERY_DEFAULTS.backdrop,description:\"Behind each photo. Transparent = the page.\"},fit:{type:ControlType.Enum,title:\"Fit\",options:[\"contain\",\"cover\"],optionTitles:[\"Contain\",\"Cover\"],displaySegmentedControl:true,defaultValue:\"contain\"},zoom:{type:ControlType.Boolean,title:\"Click to zoom\",defaultValue:true}}},checkout:{type:ControlType.Object,title:\"Checkout\",controls:{mode:{type:ControlType.Enum,title:\"Mode\",options:[\"auto\",\"embedded\",\"paymentLink\",\"demo\"],optionTitles:[\"Auto\",\"Embedded\",\"Payment Link\",\"Demo\"],defaultValue:\"auto\",description:\"Auto: the payment inside the page once Publishable key + Session URL are set; until then the Payment Link.\"},publishableKey:{type:ControlType.String,title:\"Publishable key\",defaultValue:CHECKOUT_DEFAULTS.publishableKey,placeholder:\"pk_live_…\",description:\"pk_test_… while testing, pk_live_… to sell. Never sk_ or rk_.\"},sessionEndpoint:{type:ControlType.String,title:\"Session URL\",defaultValue:CHECKOUT_DEFAULTS.sessionEndpoint,placeholder:\"https://kaiscap-checkout.….workers.dev/api/create-checkout-session\",description:\"The Cloudflare Worker. Copy sessionUrl from …/api/status, which also says whether it is ready.\"},paymentLink:{type:ControlType.Link,title:\"Payment Link\",description:\"Stripe's payment page (buy.stripe.com/…). Buy now opens it in a new tab. In Stripe, set it to redirect after payment to this page + ?kais=paid. With the payment inside the page it is only the way out when the checkout can't start.\"},testPrice:{type:ControlType.Boolean,title:\"Test price\",defaultValue:CHECKOUT_DEFAULTS.testPrice,enabledTitle:\"On\",disabledTitle:\"Off\",description:\"On: buy now opens the Test link and the page shows the test price, for a full test purchase. Off before launch.\"},testPaymentLink:{type:ControlType.Link,title:\"Test link\",defaultValue:CHECKOUT_DEFAULTS.testPaymentLink,hidden:p=>checkoutField(p,\"testPrice\")!==true,description:\"A Payment Link of its own at the test price (same settings as the real one).\"},testPriceLabel:{type:ControlType.String,title:\"Shown price\",defaultValue:CHECKOUT_DEFAULTS.testPriceLabel,hidden:p=>checkoutField(p,\"testPrice\")!==true,description:\"The price on the page while the test is on.\"},previewPaid:{type:ControlType.Boolean,title:\"Preview paid\",defaultValue:false,description:\"Canvas only: the hero as a buyer sees it back from Stripe (?kais=paid). The live site ignores it.\"},prewarm:{type:ControlType.Boolean,title:\"Prewarm\",defaultValue:false,description:\"Starts the session on hover over BUY NOW and when the section comes into view. Leave off with a limited stock: every session reserves a cap.\"},stripeJsUrl:{type:ControlType.String,title:\"Stripe.js\",defaultValue:DEFAULT_STRIPE_JS}}},copy:{type:ControlType.Object,title:\"Checkout copy\",controls:{paidRows:{type:ControlType.String,title:\"Thank-you rows\",defaultValue:COPY_DEFAULTS.paidRows,description:\"The hero's rows back from Stripe.\"},successTitle:{type:ControlType.String,title:\"Done title\",defaultValue:COPY_DEFAULTS.successTitle},successText:{type:ControlType.String,title:\"Done text\",defaultValue:COPY_DEFAULTS.successText,displayTextArea:true},returnBack:{type:ControlType.String,title:\"Back to drop\",defaultValue:COPY_DEFAULTS.returnBack,description:\"In the hero's caption, back from Stripe.\"},backLabel:{type:ControlType.String,title:\"Back to top\",defaultValue:COPY_DEFAULTS.backLabel},holdNote:{type:ControlType.String,title:\"Hold note\",defaultValue:COPY_DEFAULTS.holdNote,displayTextArea:true},soldOutLabel:{type:ControlType.String,title:\"Sold out button\",defaultValue:COPY_DEFAULTS.soldOutLabel},soldOutText:{type:ControlType.String,title:\"Sold out\",defaultValue:COPY_DEFAULTS.soldOutText},expiredText:{type:ControlType.String,title:\"Expired\",defaultValue:COPY_DEFAULTS.expiredText,displayTextArea:true},busyText:{type:ControlType.String,title:\"Too many\",defaultValue:COPY_DEFAULTS.busyText,displayTextArea:true},errorText:{type:ControlType.String,title:\"Error\",defaultValue:COPY_DEFAULTS.errorText,displayTextArea:true},retryLabel:{type:ControlType.String,title:\"Retry\",defaultValue:COPY_DEFAULTS.retryLabel},fallbackLabel:{type:ControlType.String,title:\"Fallback\",defaultValue:COPY_DEFAULTS.fallbackLabel,description:\"Next to Retry when the payment inside the page can't start: opens the Payment Link.\"},demoNote:{type:ControlType.String,title:\"Demo note\",defaultValue:COPY_DEFAULTS.demoNote,displayTextArea:true},demoButton:{type:ControlType.String,title:\"Demo button\",defaultValue:COPY_DEFAULTS.demoButton},demoSuccessNote:{type:ControlType.String,title:\"Demo done note\",defaultValue:COPY_DEFAULTS.demoSuccessNote}}},footer:{type:ControlType.Object,title:\"Footer\",controls:{show:{type:ControlType.Boolean,title:\"Show\",defaultValue:true},left:{type:ControlType.String,title:\"Left\",defaultValue:FOOTER_DEFAULTS.left,hidden:p=>p&&p.show===false},center:{type:ControlType.String,title:\"Centre\",defaultValue:FOOTER_DEFAULTS.center,description:\"Links to Website link.\",hidden:p=>p&&p.show===false},right:{type:ControlType.String,title:\"Right\",defaultValue:FOOTER_DEFAULTS.right,hidden:p=>p&&p.show===false}}},logoLink:{type:ControlType.Link,title:\"Website link\",defaultValue:\"https://kaisfc.com\"},colors:{type:ControlType.Object,title:\"Colours\",controls:{dark:{type:ControlType.Color,title:\"Dark\",defaultValue:COLOR_DEFAULTS.dark},grey:{type:ControlType.Color,title:\"Grey\",defaultValue:COLOR_DEFAULTS.grey,description:\"Hero rows, title, rules.\"},light:{type:ControlType.Color,title:\"Text\",defaultValue:COLOR_DEFAULTS.light},accent:{type:ControlType.Color,title:\"Button\",defaultValue:COLOR_DEFAULTS.accent}}},grain:{type:ControlType.Boolean,title:\"Grain\",defaultValue:false},loadFonts:{type:ControlType.Boolean,title:\"Stand-in fonts\",defaultValue:true,description:\"Archivo Black and Inter from Google Fonts, only for a font not picked above.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"KaisCapStore\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Cap_V4_1.map","// Generated by Framer (0da2bc6)\nexport default function metadata(params,activeLocale){return{description:\"Kais Cap\",favicon:\"https://framerusercontent.com/assets/ZL68rRHlFs46va6gIPk0CWXU3E.png\",robots:\"max-image-preview:large\",title:\"Kais Cap\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (166c212)\nimport siteMetadata from\"#framer/local/siteMetadata/siteMetadata/siteMetadata.js\";export default function metadata(params,activeLocale){return{breakpoints:[{hash:\"10kq8xx\",mediaQuery:\"(min-width: 1200px)\"},{hash:\"1aklbhs\",mediaQuery:\"(min-width: 810px) and (max-width: 1199.98px)\"},{hash:\"119nsa8\",mediaQuery:\"(max-width: 809.98px)\"}],description:\"Un club de f\\xfatbol. Una instituci\\xf3n medi\\xe1tica. Una marca premium. Construido desde cero en la costa de Lisboa.\",elements:{},framerSearch:{index:true},robots:\"max-image-preview:large\",serializationId:\"framer-kAmaq\",title:siteMetadata(params,activeLocale).title||\"Home\",viewport:\"width=device-width\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (166c212)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,Container,cx,GeneratedComponentContext,getFonts,useComponentViewport,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,useMetadata,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import KAISCapStore from\"#framer/local/codeFile/JOtE4AJ/Cap_V4_1.js\";import metadataProvider from\"#framer/local/webPageMetadata/oxFl8hLOT/oxFl8hLOT.js\";const KAISCapStoreFonts=getFonts(KAISCapStore);const breakpoints={h7N3nwnbA:\"(max-width: 809.98px)\",NTeZf297U:\"(min-width: 1200px)\",ZRlDkdnrD:\"(min-width: 810px) and (max-width: 1199.98px)\"};const isBrowser=()=>typeof document!==\"undefined\";export const queryParamNames=[];const serializationHash=\"framer-kAmaq\";const variantClassNames={h7N3nwnbA:\"framer-v-119nsa8\",NTeZf297U:\"framer-v-10kq8xx\",ZRlDkdnrD:\"framer-v-1aklbhs\"};const getRootLayoutProp=(hasLayoutTemplate,hasInheritedFlowEffect,fallback)=>{if(!hasLayoutTemplate)return fallback;return hasInheritedFlowEffect?\"position\":fallback;};const addImageAlt=(image,alt)=>{if(!image||typeof image!==\"object\"){return;}return{...image,alt};};const humanReadableVariantMap={Desktop:\"NTeZf297U\",Phone:\"h7N3nwnbA\",Tablet:\"ZRlDkdnrD\"};const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"NTeZf297U\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const metadata=React.useMemo(()=>metadataProvider({},activeLocale),[activeLocale]);useMetadata(metadata);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const hasLayoutTemplate=React.useContext(GeneratedComponentContext)?.isLayoutTemplate;const hasInheritedFlowEffect=Boolean(React.useContext(MotionConfigContext)?.transition?.layout);const motionLayout=getRootLayoutProp(hasLayoutTemplate,hasInheritedFlowEffect);useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{activeVariantId:baseVariant,humanReadableVariantMap,primaryVariantId:\"NTeZf297U\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\"html body { background: rgb(255, 255, 255); }\"}),/*#__PURE__*/_jsx(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-10kq8xx\",className),ref:refBinding,style:{...style},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1h41cgz-container\",isAuthoredByUser:true,layout:motionLayout,nodeId:\"o8C8jBiyN\",scopeId:\"oxFl8hLOT\",children:/*#__PURE__*/_jsx(KAISCapStore,{cap:{aspect:1.25,blend:\"normal\",capSize:40,degrees:false,direction:\"right\",draggable:true,drawingColor:\"rgb(208, 209, 209)\",frameBlend:true,frameCount:72,frames:[],framesPattern:\"\",frameStart:1,groundShadow:false,invertDrag:false,period:16,quality:\"auto\",shadowY:80,source:\"model\",startAngle:330,threeUrl:\"https://cdn.jsdelivr.net/npm/three@0.170.0/build/three.module.min.js\"},checkout:{mode:\"paymentLink\",paymentLink:\"https://buy.stripe.com/4gM6oH5rX26WfG01gX2kw00\",previewPaid:false,prewarm:false,publishableKey:\"pk_test_51UL4JBDlnAq2VtMgmcFyVFVWyzuCO9PAQDiZxQAnt1FwP9YzPSySLhfUpXr3c1Gr9BdVFifWKPJbSzEftyA2NiBO00EhcpVZq8\",sessionEndpoint:\"https://kaiscap-checkout.vercel.app/api/create-checkout-session\",stripeJsUrl:\"https://js.stripe.com/dahlia/stripe.js\",testPaymentLink:\"https://buy.stripe.com/9B64gz1bHdPEbpK7Fl2kw01\",testPrice:false,testPriceLabel:\"1€\"},colors:{accent:\"rgb(255, 0, 0)\",dark:\"rgb(26, 24, 24)\",grey:\"rgb(208, 209, 209)\",light:\"rgb(255, 255, 255)\"},copy:{backLabel:\"Back to top\",busyText:\"There are already open checkouts from your connection. Finish one, or try again in 30 minutes.\",demoButton:\"Preview confirmation\",demoNote:\"Preview. The Stripe checkout loads here once the keys are connected.\",demoSuccessNote:\"Preview only \\xb7 no order placed, nothing charged\",errorText:\"The checkout could not load. Please try again in a moment.\",expiredText:\"Your 30 minutes ran out, so the cap went back to the drop. Press Buy to start again.\",fallbackLabel:\"pay on Stripe\",holdNote:\"We hold your cap for 30 minutes while you pay.\",paidRows:\"THANK YOU\",retryLabel:\"Try again\",returnBack:\"back to the drop\",soldOutLabel:\"Sold out\",soldOutText:\"This drop is sold out.\",successText:\"Your order is confirmed. The receipt is on its way to your inbox.\",successTitle:\"Thank you.\"},displayFont:{fontFamily:'\"Inter\", \"Inter Placeholder\", sans-serif',fontStyle:\"normal\",fontWeight:400},footer:{center:\"website\",left:\"KAIS FC\",right:\"\\xa9 2026 All Rights Reserved\",show:true},gallery:{backdrop:\"rgba(0, 0, 0, 0)\",fit:\"contain\",images:[addImageAlt({pixelHeight:3e3,pixelWidth:3e3,src:\"https://framerusercontent.com/images/ZL68rRHlFs46va6gIPk0CWXU3E.png?width=3000&height=3000\",srcSet:\"https://framerusercontent.com/images/ZL68rRHlFs46va6gIPk0CWXU3E.png?scale-down-to=512&width=3000&height=3000 512w,https://framerusercontent.com/images/ZL68rRHlFs46va6gIPk0CWXU3E.png?scale-down-to=1024&width=3000&height=3000 1024w,https://framerusercontent.com/images/ZL68rRHlFs46va6gIPk0CWXU3E.png?scale-down-to=2048&width=3000&height=3000 2048w,https://framerusercontent.com/images/ZL68rRHlFs46va6gIPk0CWXU3E.png?width=3000&height=3000 3000w\"},\"\"),addImageAlt({pixelHeight:3e3,pixelWidth:3e3,src:\"https://framerusercontent.com/images/ObZ08QgcvoQa5Lhfg4HFoJdJK0E.png?width=3000&height=3000\",srcSet:\"https://framerusercontent.com/images/ObZ08QgcvoQa5Lhfg4HFoJdJK0E.png?scale-down-to=512&width=3000&height=3000 512w,https://framerusercontent.com/images/ObZ08QgcvoQa5Lhfg4HFoJdJK0E.png?scale-down-to=1024&width=3000&height=3000 1024w,https://framerusercontent.com/images/ObZ08QgcvoQa5Lhfg4HFoJdJK0E.png?scale-down-to=2048&width=3000&height=3000 2048w,https://framerusercontent.com/images/ObZ08QgcvoQa5Lhfg4HFoJdJK0E.png?width=3000&height=3000 3000w\"},\"\"),addImageAlt({pixelHeight:3e3,pixelWidth:3e3,src:\"https://framerusercontent.com/images/smchXHTX258vT7IQeM1NSvnsfmM.png?width=3000&height=3000\",srcSet:\"https://framerusercontent.com/images/smchXHTX258vT7IQeM1NSvnsfmM.png?scale-down-to=512&width=3000&height=3000 512w,https://framerusercontent.com/images/smchXHTX258vT7IQeM1NSvnsfmM.png?scale-down-to=1024&width=3000&height=3000 1024w,https://framerusercontent.com/images/smchXHTX258vT7IQeM1NSvnsfmM.png?scale-down-to=2048&width=3000&height=3000 2048w,https://framerusercontent.com/images/smchXHTX258vT7IQeM1NSvnsfmM.png?width=3000&height=3000 3000w\"},\"\"),addImageAlt({pixelHeight:2833,pixelWidth:2833,src:\"https://framerusercontent.com/images/SROpqoZbJCnRt6U7WeOg9RXY.png?width=2833&height=2833\",srcSet:\"https://framerusercontent.com/images/SROpqoZbJCnRt6U7WeOg9RXY.png?scale-down-to=512&width=2833&height=2833 512w,https://framerusercontent.com/images/SROpqoZbJCnRt6U7WeOg9RXY.png?scale-down-to=1024&width=2833&height=2833 1024w,https://framerusercontent.com/images/SROpqoZbJCnRt6U7WeOg9RXY.png?scale-down-to=2048&width=2833&height=2833 2048w,https://framerusercontent.com/images/SROpqoZbJCnRt6U7WeOg9RXY.png?width=2833&height=2833 2833w\"},\"\")],zoom:true},grain:false,height:\"100%\",heroText:\"2042 KAIS CAP\",id:\"o8C8jBiyN\",layoutId:\"o8C8jBiyN\",loadFonts:true,logoLink:\"https://kaisfc.com\",product:{cta:\"buy now\",description:\"built from zero on the Lisbon coast.\\nKAIS FC celebrates its first ever merch item by projecting an idea.\\nthe 2042 KAIS CAP is an unstructured six panel hat in light grey color. it features bold red “2042 champions league winners” embroidery on front and “kais(dot).com” embroidery on the side. hand-numbered label inside the cap.\\n\\nthe 2042 KAIS CAP is limited to numbered 100 units.\\n\\nonce sold out, it will be gone forever.\",price:\"50€\",priceNote:\"(worldwide shipping included)\",title:\"2042 KAIS CAP\\n(100 units limited edition)\"},style:{width:\"100%\"},textFont:{fontFamily:'\"Inter\", \"Inter Placeholder\", sans-serif',fontStyle:\"normal\",fontWeight:400},width:\"100%\"})})})}),/*#__PURE__*/_jsx(\"div\",{id:\"overlay\"})]})});});const css=[\".framer-kAmaq.framer-l23c9x, .framer-kAmaq .framer-l23c9x { display: block; }\",\".framer-kAmaq.framer-10kq8xx { align-content: center; align-items: center; background-color: #ffffff; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 1200px; }\",\".framer-kAmaq .framer-1h41cgz-container { flex: none; height: auto; position: relative; width: 100%; }\",\"@media (min-width: 810px) and (max-width: 1199.98px) { .framer-kAmaq.framer-10kq8xx { width: 810px; }}\",\"@media (max-width: 809.98px) { .framer-kAmaq.framer-10kq8xx { width: 390px; }}\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 1531\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"ZRlDkdnrD\":{\"layout\":[\"fixed\",\"auto\"]},\"h7N3nwnbA\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerAcceptsLayoutTemplate true\n * @framerScrollSections false\n * @framerResponsiveScreen true\n * @framerLayoutTemplateFlowEffect true\n */const FrameroxFl8hLOT=withCSS(Component,css,\"framer-kAmaq\");export default FrameroxFl8hLOT;FrameroxFl8hLOT.displayName=\"Home\";FrameroxFl8hLOT.defaultProps={height:1531,width:1200};addFonts(FrameroxFl8hLOT,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...KAISCapStoreFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FrameroxFl8hLOT\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"ZRlDkdnrD\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"h7N3nwnbA\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerImmutableVariables\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicHeight\":\"1531\",\"framerContractVersion\":\"1\",\"framerResponsiveScreen\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerLayoutTemplateFlowEffect\":\"true\",\"framerIntrinsicWidth\":\"1200\",\"framerColorSyntax\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerScrollSections\":\"false\",\"framerAcceptsLayoutTemplate\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"queryParamNames\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (d22cd96)\nconst snippets=[];const queryLoaders={};export const snippetsSorting={bodyEnd:[],bodyStart:[],headEnd:[],headStart:[]};export async function getSnippets(pageId,pathVariables,activeLocale){const queryLoader=queryLoaders[pageId];const params=queryLoader?await queryLoader(pathVariables,activeLocale):undefined;const result={bodyEnd:[],bodyStart:[],headEnd:[],headStart:[]};for(const snippet of snippets){if(snippet.pageIds&&!snippet.pageIds.has(pageId))continue;const code=snippet.code(params);if(code){result[snippet.placement].push({...snippet,code});}}return result;}\nexport const __FramerMetadata__ = {\"exports\":{\"snippetsSorting\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getSnippets\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}