PageSourceSearch

https://universita-ch.lovable.app/assets/index-C3AdBDrc.js

js universita-ch.lovable.app collected 2026-10-03 03:50:59 UTC 646,423 bytes, 6,015 lines download raw bytes

vendor: 5,690 bytes, lines 1-9
1var xd=e=>{throw TypeError(e)};var us=(e,t,i)=>t.has(e)||xd("Cannot "+i);var k=(e,t,i)=>(us(e,t,"read from private field"),i?i.call(e):t.get(e)),Y=(e,t,i)=>t.has(e)?xd("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,i),G=(e,t,i,n)=>(us(e,t,"write to private field"),n?n.call(e,i):t.set(e,i),i),ke=(e,t,i)=>(us(e,t,"access private method"),i);var vo=(e,t,i,n)=>({set _(r){G(e,t,r,i)},get _(){return k(e,t,n)}});function Ch(e,t){for(var i=0;i<t.length;i++){const n=t[i];if(typeof n!="string"&&!Array.isArray(n)){for(const r in n)if(r!=="default"&&!(r in e)){const o=Object.getOwnPropertyDescriptor(n,r);o&&Object.defineProperty(e,r,o.get?o:{enumerable:!0,get:()=>n[r]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))n(r);new MutationObserver(r=>{for(const o of r)if(o.type==="childList")for(const a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&n(a)}).observe(document,{childList:!0,subtree:!0});function i(r){const o={};return r.integrity&&(o.integrity=r.integrity),r.referrerPolicy&&(o.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?o.credentials="include":r.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(r){if(r.ep)return;r.ep=!0;const o=i(r);fetch(r.href,o)}})();function yp(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var bp={exports:{}},Ta={},wp={exports:{}},Q={};/**
2 * @license React
3 * react.production.min.js
4 *
5 * Copyright (c) Facebook, Inc. and its affiliates.
6 *
7 * This source code is licensed under the MIT license found in the
8 * LICENSE file in the root directory of this source tree.
9 */var oo=Symbol.for("react.element"),Ah=Symbol.for("react.portal"),Ih=Symbol.for("react.fragment"),kh=Symbol.for("react.strict_mode"),Eh=Symbol.for("react.profiler"),Rh=Symbol.for("react.provider"),zh=Symbol.for("react.context"),Ph=Symbol.for("react.forward_ref"),Th=Symbol.for("react.suspense"),Lh=Symbol.for("react.memo"),Nh=Symbol.for("react.lazy"),yd=Symbol.iterator;function Mh(e){return e===null||typeof e!="object"?null:(e=yd&&e[yd]||e["@@iterator"],typeof e=="function"?e:null)}var Sp={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Cp=Object.assign,Ap={};function er(e,t,i){this.props=e,this.context=t,this.refs=Ap,this.updater=i||Sp}er.prototype.isReactComponent={};er.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};er.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Ip(){}Ip.prototype=er.prototype;function Jl(e,t,i){this.props=e,this.context=t,this.refs=Ap,this.updater=i||Sp}var ec=Jl.prototype=new Ip;ec.constructor=Jl;Cp(ec,er.prototype);ec.isPureReactComponent=!0;var bd=Array.isArray,kp=Object.prototype.hasOwnProperty,tc={current:null},Ep={key:!0,ref:!0,__self:!0,__source:!0};function Rp(e,t,i){var n,r={},o=null,a=null;if(t!=null)for(n in t.ref!==void 0&&(a=t.ref),t.key!==void 0&&(o=""+t.key),t)kp.call(t,n)&&!Ep.hasOwnProperty(n)&&(r[n]=t[n]);var s=arguments.length-2;if(s===1)r.children=i;else if(1<s){for(var l=Array(s),c=0;c<s;c++)l[c]=arguments[c+2];r.children=l}if(e&&e.defaultProps)for(n in s=e.defaultProps,s)r[n]===void 0&&(r[n]=s[n]);return{$$typeof:oo,type:e,key:o,ref:a,props:r,_owner:tc.current}}function Oh(e,t){return{$$typeof:oo,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function ic(e){return typeof e=="object"&&e!==null&&e.$$typeof===oo}function Uh(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(i){return t[i]})}var wd=/\/+/g;function ps(e,t){return typeof e=="object"&&e!==null&&e.key!=null?Uh(""+e.key):t.toString(36)}function Fo(e,t,i,n,r){var o=typeof e;(o==="undefined"||o==="boolean")&&(e=null);var a=!1;if(e===null)a=!0;else switch(o){case"string":case"number":a=!0;break;case"object":switch(e.$$typeof){case oo:case Ah:a=!0}}if(a)return a=e,r=r(a),e=n===""?"."+ps(a,0):n,bd(r)?(i="",e!=null&&(i=e.replace(wd,"$&/")+"/"),Fo(r,t,i,"",function(c){return c})):r!=null&&(ic(r)&&(r=Oh(r,i+(!r.key||a&&a.key===r.key?"":(""+r.key).replace(wd,"$&/")+"/")+e)),t.push(r)),1;if(a=0,n=n===""?".":n+":",bd(e))for(var s=0;s<e.length;s++){o=e[s];var l=n+ps(o,s);a+=Fo(o,t,i,l,r)}else if(l=Mh(e),typeof l=="function")for(e=l.call(e),s=0;!(o=e.next()).done;)o=o.value,l=n+ps(o,s++),a+=Fo(o,t,i,l,r);else if(o==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return a}function xo(e,t,i){if(e==null)return e;var n=[],r=0;return Fo(e,n,"","",function(o){return t.call(i,o,r++)}),n}function jh(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(i){(e._status===0||e._status===-1)&&(e._status=1,e._result=i)},function(i){(e._status===0||e._status===-1)&&(e._status=2,e._result=i)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var Ue={current:null},_o={transition:null},Bh={ReactCurrentDispatcher:Ue,ReactCurrentBatchConfig:_o,ReactCurrentOwner:tc};function zp(){throw Error("act(...) is not supported in production builds of React.")}
vendor: 5,411 bytes, lines 9-25
9Q.Children={map:xo,forEach:function(e,t,i){xo(e,function(){t.apply(this,arguments)},i)},count:function(e){var t=0;return xo(e,function(){t++}),t},toArray:function(e){return xo(e,function(t){return t})||[]},only:function(e){if(!ic(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};Q.Component=er;Q.Fragment=Ih;Q.Profiler=Eh;Q.PureComponent=Jl;Q.StrictMode=kh;Q.Suspense=Th;Q.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Bh;Q.act=zp;Q.cloneElement=function(e,t,i){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var n=Cp({},e.props),r=e.key,o=e.ref,a=e._owner;if(t!=null){if(t.ref!==void 0&&(o=t.ref,a=tc.current),t.key!==void 0&&(r=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(l in t)kp.call(t,l)&&!Ep.hasOwnProperty(l)&&(n[l]=t[l]===void 0&&s!==void 0?s[l]:t[l])}var l=arguments.length-2;if(l===1)n.children=i;else if(1<l){s=Array(l);for(var c=0;c<l;c++)s[c]=arguments[c+2];n.children=s}return{$$typeof:oo,type:e.type,key:r,ref:o,props:n,_owner:a}};Q.createContext=function(e){return e={$$typeof:zh,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:Rh,_context:e},e.Consumer=e};Q.createElement=Rp;Q.createFactory=function(e){var t=Rp.bind(null,e);return t.type=e,t};Q.createRef=function(){return{current:null}};Q.forwardRef=function(e){return{$$typeof:Ph,render:e}};Q.isValidElement=ic;Q.lazy=function(e){return{$$typeof:Nh,_payload:{_status:-1,_result:e},_init:jh}};Q.memo=function(e,t){return{$$typeof:Lh,type:e,compare:t===void 0?null:t}};Q.startTransition=function(e){var t=_o.transition;_o.transition={};try{e()}finally{_o.transition=t}};Q.unstable_act=zp;Q.useCallback=function(e,t){return Ue.current.useCallback(e,t)};Q.useContext=function(e){return Ue.current.useContext(e)};Q.useDebugValue=function(){};Q.useDeferredValue=function(e){return Ue.current.useDeferredValue(e)};Q.useEffect=function(e,t){return Ue.current.useEffect(e,t)};Q.useId=function(){return Ue.current.useId()};Q.useImperativeHandle=function(e,t,i){return Ue.current.useImperativeHandle(e,t,i)};Q.useInsertionEffect=function(e,t){return Ue.current.useInsertionEffect(e,t)};Q.useLayoutEffect=function(e,t){return Ue.current.useLayoutEffect(e,t)};Q.useMemo=function(e,t){return Ue.current.useMemo(e,t)};Q.useReducer=function(e,t,i){return Ue.current.useReducer(e,t,i)};Q.useRef=function(e){return Ue.current.useRef(e)};Q.useState=function(e){return Ue.current.useState(e)};Q.useSyncExternalStore=function(e,t,i){return Ue.current.useSyncExternalStore(e,t,i)};Q.useTransition=function(){return Ue.current.useTransition()};Q.version="18.3.1";wp.exports=Q;var x=wp.exports;const T=yp(x),Pp=Ch({__proto__:null,default:T},[x]);/**
10 * @license React
11 * react-jsx-runtime.production.min.js
12 *
13 * Copyright (c) Facebook, Inc. and its affiliates.
14 *
15 * This source code is licensed under the MIT license found in the
16 * LICENSE file in the root directory of this source tree.
17 */var Dh=x,Fh=Symbol.for("react.element"),_h=Symbol.for("react.fragment"),Gh=Object.prototype.hasOwnProperty,Hh=Dh.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,$h={key:!0,ref:!0,__self:!0,__source:!0};function Tp(e,t,i){var n,r={},o=null,a=null;i!==void 0&&(o=""+i),t.key!==void 0&&(o=""+t.key),t.ref!==void 0&&(a=t.ref);for(n in t)Gh.call(t,n)&&!$h.hasOwnProperty(n)&&(r[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps,t)r[n]===void 0&&(r[n]=t[n]);return{$$typeof:Fh,type:e,key:o,ref:a,props:r,_owner:Hh.current}}Ta.Fragment=_h;Ta.jsx=Tp;Ta.jsxs=Tp;bp.exports=Ta;var I=bp.exports,Lp={exports:{}},Xe={},Np={exports:{}},Mp={};/**
18 * @license React
19 * scheduler.production.min.js
20 *
21 * Copyright (c) Facebook, Inc. and its affiliates.
22 *
23 * This source code is licensed under the MIT license found in the
24 * LICENSE file in the root directory of this source tree.
25 */(function(e){function t(E,R){var O=E.length;E.push(R);e:for(;0<O;){var $=O-1>>>1,B=E[$];if(0<r(B,R))E[$]=R,E[O]=B,O=$;else break e}}function i(E){return E.length===0?null:E[0]}function n(E){if(E.length===0)return null;var R=E[0],O=E.pop();if(O!==R){E[0]=O;e:for(var $=0,B=E.length,q=B>>>1;$<q;){var K=2*($+1)-1,fe=E[K],Ie=K+1,J=E[Ie];if(0>r(fe,O))Ie<B&&0>r(J,fe)?(E[$]=J,E[Ie]=O,$=Ie):(E[$]=fe,E[K]=O,$=K);else if(Ie<B&&0>r(J,O))E[$]=J,E[Ie]=O,$=Ie;else break e}}return R}function r(E,R){var O=E.sortIndex-R.sortIndex;return O!==0?O:E.id-R.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var a=Date,s=a.now();e.unstable_now=function(){return a.now()-s}}var l=[],c=[],u=1,p=null,g=3,d=!1,y=!1,h=!1,b=typeof setTimeout=="function"?setTimeout:null,m=typeof clearTimeout=="function"?clearTimeout:null,f=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(E){for(var R=i(c);R!==null;){if(R.callback===null)n(c);else if(R.startTime<=E)n(c),R.sortIndex=R.expirationTime,t(l,R);else break;R=i(c)}}function w(E){if(h=!1,v(E),!y)if(i(l)!==null)y=!0,F(S);else{var R=i(c);R!==null&&H(w,R.startTime-E)}}function S(E,R){y=!1,h&&(h=!1,m(z),z=-1),d=!0;var O=g;try{for(v(R),p=i(l);p!==null&&(!(p.expirationTime>
vendor: 9,184 bytes, lines 25-34
25R)||E&&!D());){var $=p.callback;if(typeof $=="function"){p.callback=null,g=p.priorityLevel;var B=$(p.expirationTime<=R);R=e.unstable_now(),typeof B=="function"?p.callback=B:p===i(l)&&n(l),v(R)}else n(l);p=i(l)}if(p!==null)var q=!0;else{var K=i(c);K!==null&&H(w,K.startTime-R),q=!1}return q}finally{p=null,g=O,d=!1}}var C=!1,A=null,z=-1,N=5,L=-1;function D(){return!(e.unstable_now()-L<N)}function j(){if(A!==null){var E=e.unstable_now();L=E;var R=!0;try{R=A(!0,E)}finally{R?W():(C=!1,A=null)}}else C=!1}var W;if(typeof f=="function")W=function(){f(j)};else if(typeof MessageChannel<"u"){var M=new MessageChannel,Z=M.port2;M.port1.onmessage=j,W=function(){Z.postMessage(null)}}else W=function(){b(j,0)};function F(E){A=E,C||(C=!0,W())}function H(E,R){z=b(function(){E(e.unstable_now())},R)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(E){E.callback=null},e.unstable_continueExecution=function(){y||d||(y=!0,F(S))},e.unstable_forceFrameRate=function(E){0>E||125<E?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):N=0<E?Math.floor(1e3/E):5},e.unstable_getCurrentPriorityLevel=function(){return g},e.unstable_getFirstCallbackNode=function(){return i(l)},e.unstable_next=function(E){switch(g){case 1:case 2:case 3:var R=3;break;default:R=g}var O=g;g=R;try{return E()}finally{g=O}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(E,R){switch(E){case 1:case 2:case 3:case 4:case 5:break;default:E=3}var O=g;g=E;try{return R()}finally{g=O}},e.unstable_scheduleCallback=function(E,R,O){var $=e.unstable_now();switch(typeof O=="object"&&O!==null?(O=O.delay,O=typeof O=="number"&&0<O?$+O:$):O=$,E){case 1:var B=-1;break;case 2:B=250;break;case 5:B=1073741823;break;case 4:B=1e4;break;default:B=5e3}return B=O+B,E={id:u++,callback:R,priorityLevel:E,startTime:O,expirationTime:B,sortIndex:-1},O>$?(E.sortIndex=O,t(c,E),i(l)===null&&E===i(c)&&(h?(m(z),z=-1):h=!0,H(w,O-$))):(E.sortIndex=B,t(l,E),y||d||(y=!0,F(S))),E},e.unstable_shouldYield=D,e.unstable_wrapCallback=function(E){var R=g;return function(){var O=g;g=R;try{return E.apply(this,arguments)}finally{g=O}}}})(Mp);Np.exports=Mp;var Vh=Np.exports;/**
26 * @license React
27 * react-dom.production.min.js
28 *
29 * Copyright (c) Facebook, Inc. and its affiliates.
30 *
31 * This source code is licensed under the MIT license found in the
32 * LICENSE file in the root directory of this source tree.
33 */var Wh=x,Ke=Vh;function P(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,i=1;i<arguments.length;i++)t+="&args[]="+encodeURIComponent(arguments[i]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var Op=new Set,Mr={};function sn(e,t){Vn(e,t),Vn(e+"Capture",t)}function Vn(e,t){for(Mr[e]=t,e=0;e<t.length;e++)Op.add(t[e])}var Vt=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ws=Object.prototype.hasOwnProperty,qh=/^[: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]*$/,Sd={},Cd={};function Qh(e){return Ws.call(Cd,e)?!0:Ws.call(Sd,e)?!1:qh.test(e)?Cd[e]=!0:(Sd[e]=!0,!1)}function Zh(e,t,i,n){if(i!==null&&i.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return n?!1:i!==null?!i.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Kh(e,t,i,n){if(t===null||typeof t>"u"||Zh(e,t,i,n))return!0;if(n)return!1;if(i!==null)switch(i.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function je(e,t,i,n,r,o,a){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=n,this.attributeNamespace=r,this.mustUseProperty=i,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=a}var Ae={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Ae[e]=new je(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Ae[t]=new je(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Ae[e]=new je(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Ae[e]=new je(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){Ae[e]=new je(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Ae[e]=new je(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Ae[e]=new je(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Ae[e]=new je(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Ae[e]=new je(e,5,!1,e.toLowerCase(),null,!1,!1)});var nc=/[\-:]([a-z])/g;function rc(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 t=e.replace(nc,rc);Ae[t]=new je(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(nc,rc);Ae[t]=new je(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(nc,rc);Ae[t]=new je(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Ae[e]=new je(e,1,!1,e.toLowerCase(),null,!1,!1)});Ae.xlinkHref=new je("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Ae[e]=new je(e,1,!1,e.toLowerCase(),null,!0,!0)});function oc(e,t,i,n){var r=Ae.hasOwnProperty(t)?Ae[t]:null;(r!==null?r.type!==0:n||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(Kh(t,i,r,n)&&(i=null),n||r===null?Qh(t)&&(i===null?e.removeAttribute(t):e.setAttribute(t,""+i)):r.mustUseProperty?e[r.propertyName]=i===null?r.type===3?!1:"":i:(t=r.attributeName,n=r.attributeNamespace,i===null?e.removeAttribute(t):(r=r.type,i=r===3||r===4&&i===!0?"":""+i,n?e.setAttributeNS(n,t,i):e.setAttribute(t,i))))}var Xt=Wh.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,yo=Symbol.for("react.element"),vn=Symbol.for("react.portal"),xn=Symbol.for("react.fragment"),ac=Symbol.for("react.strict_mode"),qs=Symbol.for("react.profiler"),Up=Symbol.for("react.provider"),jp=Symbol.for("react.context"),sc=Symbol.for("react.forward_ref"),Qs=Symbol.for("react.suspense"),Zs=Symbol.for("react.suspense_list"),lc=Symbol.for("react.memo"),li=Symbol.for("react.lazy"),Bp=Symbol.for("react.offscreen"),Ad=Symbol.iterator;function dr(e){return e===null||typeof e!="object"?null:(e=Ad&&e[Ad]||e["@@iterator"],typeof e=="function"?e:null)}var de=Object.assign,gs;function br(e){if(gs===void 0)try{throw Error()}catch(i){var t=i.stack.trim().match(/\n( *(at )?)/);gs=t&&t[1]||""}return`
34`+gs+e}var fs=!1;function ms(e,t){if(!e||fs)return"";fs=!0;var i=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(c){var n=c}Reflect.construct(e,[],t)}else{try{t.call()}catch(c){n=c}e.call(t.prototype)}else{try{throw Error()}catch(c){n=c}e()}}
vendor: 5,497 bytes, lines 34-37
34catch(c){if(c&&n&&typeof c.stack=="string"){for(var r=c.stack.split(`
35`),o=n.stack.split(`
36`),a=r.length-1,s=o.length-1;1<=a&&0<=s&&r[a]!==o[s];)s--;for(;1<=a&&0<=s;a--,s--)if(r[a]!==o[s]){if(a!==1||s!==1)do if(a--,s--,0>s||r[a]!==o[s]){var l=`
37`+r[a].replace(" at new "," at ");return e.displayName&&l.includes("<anonymous>")&&(l=l.replace("<anonymous>",e.displayName)),l}while(1<=a&&0<=s);break}}}finally{fs=!1,Error.prepareStackTrace=i}return(e=e?e.displayName||e.name:"")?br(e):""}function Xh(e){switch(e.tag){case 5:return br(e.type);case 16:return br("Lazy");case 13:return br("Suspense");case 19:return br("SuspenseList");case 0:case 2:case 15:return e=ms(e.type,!1),e;case 11:return e=ms(e.type.render,!1),e;case 1:return e=ms(e.type,!0),e;default:return""}}function Ks(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case xn:return"Fragment";case vn:return"Portal";case qs:return"Profiler";case ac:return"StrictMode";case Qs:return"Suspense";case Zs:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case jp:return(e.displayName||"Context")+".Consumer";case Up:return(e._context.displayName||"Context")+".Provider";case sc:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case lc:return t=e.displayName||null,t!==null?t:Ks(e.type)||"Memo";case li:t=e._payload,e=e._init;try{return Ks(e(t))}catch{}}return null}function Yh(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Ks(t);case 8:return t===ac?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Ri(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Dp(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Jh(e){var t=Dp(e)?"checked":"value",i=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),n=""+e[t];if(!e.hasOwnProperty(t)&&typeof i<"u"&&typeof i.get=="function"&&typeof i.set=="function"){var r=i.get,o=i.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(a){n=""+a,o.call(this,a)}}),Object.defineProperty(e,t,{enumerable:i.enumerable}),{getValue:function(){return n},setValue:function(a){n=""+a},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function bo(e){e._valueTracker||(e._valueTracker=Jh(e))}function Fp(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var i=t.getValue(),n="";return e&&(n=Dp(e)?e.checked?"true":"false":e.value),e=n,e!==i?(t.setValue(e),!0):!1}function ta(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Xs(e,t){var i=t.checked;return de({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:i??e._wrapperState.initialChecked})}function Id(e,t){var i=t.defaultValue==null?"":t.defaultValue,n=t.checked!=null?t.checked:t.defaultChecked;i=Ri(t.value!=null?t.value:i),e._wrapperState={initialChecked:n,initialValue:i,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function _p(e,t){t=t.checked,t!=null&&oc(e,"checked",t,!1)}function Ys(e,t){_p(e,t);var i=Ri(t.value),n=t.type;if(i!=null)n==="number"?(i===0&&e.value===""||e.value!=i)&&(e.value=""+i):e.value!==""+i&&(e.value=""+i);else if(n==="submit"||n==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Js(e,t.type,i):t.hasOwnProperty("defaultValue")&&Js(e,t.type,Ri(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function kd(e,t,i){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var n=t.type;if(!(n!=="submit"&&n!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,i||t===e.value||(e.value=t),e.defaultValue=t}i=e.name,i!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,i!==""&&(e.name=i)}function Js(e,t,i){(t!=="number"||ta(e.ownerDocument)!==e)&&(i==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+i&&(e.defaultValue=""+i))}var wr=Array.isArray;function zn(e,t,i,n){if(e=e.options,t){t={};for(var r=0;r<i.length;r++)t["$"+i[r]]=!0;for(i=0;i<e.length;i++)r=t.hasOwnProperty("$"+e[i].value),e[i].selected!==r&&(e[i].selected=r),r&&n&&(e[i].defaultSelected=!0)}else{for(i=""+Ri(i),t=null,r=0;r<e.length;r++){if(e[r].value===i){e[r].selected=!0,n&&(e[r].defaultSelected=!0);return}t!==null||e[r].disabled||(t=e[r])}t!==null&&(t.selected=!0)}}function el(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(P(91));return de({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Ed(e,t){var i=t.value;if(i==null){if(i=t.children,t=t.defaultValue,i!=null){if(t!=null)throw Error(P(92));
vendor: 12,680 bytes, line 37
37if(wr(i)){if(1<i.length)throw Error(P(93));i=i[0]}t=i}t==null&&(t=""),i=t}e._wrapperState={initialValue:Ri(i)}}function Gp(e,t){var i=Ri(t.value),n=Ri(t.defaultValue);i!=null&&(i=""+i,i!==e.value&&(e.value=i),t.defaultValue==null&&e.defaultValue!==i&&(e.defaultValue=i)),n!=null&&(e.defaultValue=""+n)}function Rd(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function Hp(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function tl(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?Hp(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var wo,$p=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,i,n,r){MSApp.execUnsafeLocalFunction(function(){return e(t,i,n,r)})}:e}(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(wo=wo||document.createElement("div"),wo.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=wo.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Or(e,t){if(t){var i=e.firstChild;if(i&&i===e.lastChild&&i.nodeType===3){i.nodeValue=t;return}}e.textContent=t}var Ar={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},ev=["Webkit","ms","Moz","O"];Object.keys(Ar).forEach(function(e){ev.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ar[t]=Ar[e]})});function Vp(e,t,i){return t==null||typeof t=="boolean"||t===""?"":i||typeof t!="number"||t===0||Ar.hasOwnProperty(e)&&Ar[e]?(""+t).trim():t+"px"}function Wp(e,t){e=e.style;for(var i in t)if(t.hasOwnProperty(i)){var n=i.indexOf("--")===0,r=Vp(i,t[i],n);i==="float"&&(i="cssFloat"),n?e.setProperty(i,r):e[i]=r}}var tv=de({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function il(e,t){if(t){if(tv[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(P(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(P(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(P(61))}if(t.style!=null&&typeof t.style!="object")throw Error(P(62))}}function nl(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){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!1;default:return!0}}var rl=null;function cc(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ol=null,Pn=null,Tn=null;function zd(e){if(e=lo(e)){if(typeof ol!="function")throw Error(P(280));var t=e.stateNode;t&&(t=Ua(t),ol(e.stateNode,e.type,t))}}function qp(e){Pn?Tn?Tn.push(e):Tn=[e]:Pn=e}function Qp(){if(Pn){var e=Pn,t=Tn;if(Tn=Pn=null,zd(e),t)for(e=0;e<t.length;e++)zd(t[e])}}function Zp(e,t){return e(t)}function Kp(){}var hs=!1;function Xp(e,t,i){if(hs)return e(t,i);hs=!0;try{return Zp(e,t,i)}finally{hs=!1,(Pn!==null||Tn!==null)&&(Kp(),Qp())}}function Ur(e,t){var i=e.stateNode;if(i===null)return null;var n=Ua(i);if(n===null)return null;i=n[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(n=!n.disabled)||(e=e.type,n=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!n;break e;default:e=!1}if(e)return null;if(i&&typeof i!="function")throw Error(P(231,t,typeof i));return i}var al=!1;if(Vt)try{var ur={};Object.defineProperty(ur,"passive",{get:function(){al=!0}}),window.addEventListener("test",ur,ur),window.removeEventListener("test",ur,ur)}catch{al=!1}function iv(e,t,i,n,r,o,a,s,l){var c=Array.prototype.slice.call(arguments,3);try{t.apply(i,c)}catch(u){this.onError(u)}}var Ir=!1,ia=null,na=!1,sl=null,nv={onError:function(e){Ir=!0,ia=e}};function rv(e,t,i,n,r,o,a,s,l){Ir=!1,ia=null,iv.apply(nv,arguments)}function ov(e,t,i,n,r,o,a,s,l){if(rv.apply(this,arguments),Ir){if(Ir){var c=ia;Ir=!1,ia=null}else throw Error(P(198));na||(na=!0,sl=c)}}function ln(e){var t=e,i=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(i=t.return),e=t.return;while(e)}return t.tag===3?i:null}function Yp(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Pd(e){if(ln(e)!==e)throw Error(P(188))}function av(e){var t=e.alternate;if(!t){if(t=ln(e),t===null)throw Error(P(188));return t!==e?null:e}for(var i=e,n=t;;){var r=i.return;if(r===null)break;var o=r.alternate;if(o===null){if(n=r.return,n!==null){i=n;continue}break}if(r.child===o.child){for(o=r.child;o;){if(o===i)return Pd(r),e;if(o===n)return Pd(r),t;o=o.sibling}throw Error(P(188))}if(i.return!==n.return)i=r,n=o;else{for(var a=!1,s=r.child;s;){if(s===i){a=!0,i=r,n=o;break}if(s===n){a=!0,n=r,i=o;break}s=s.sibling}if(!a){for(s=o.child;s;){if(s===i){a=!0,i=o,n=r;break}if(s===n){a=!0,n=o,i=r;break}s=s.sibling}if(!a)throw Error(P(189))}}if(i.alternate!==n)throw Error(P(190))}if(i.tag!==3)throw Error(P(188));return i.stateNode.current===i?e:t}function Jp(e){return e=av(e),e!==null?eg(e):null}function eg(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=eg(e);if(t!==null)return t;e=e.sibling}return null}var tg=Ke.unstable_scheduleCallback,Td=Ke.unstable_cancelCallback,sv=Ke.unstable_shouldYield,lv=Ke.unstable_requestPaint,ge=Ke.unstable_now,cv=Ke.unstable_getCurrentPriorityLevel,dc=Ke.unstable_ImmediatePriority,ig=Ke.unstable_UserBlockingPriority,ra=Ke.unstable_NormalPriority,dv=Ke.unstable_LowPriority,ng=Ke.unstable_IdlePriority,La=null,Lt=null;function uv(e){if(Lt&&typeof Lt.onCommitFiberRoot=="function")try{Lt.onCommitFiberRoot(La,e,void 0,(e.current.flags&128)===128)}catch{}}var yt=Math.clz32?Math.clz32:fv,pv=Math.log,gv=Math.LN2;function fv(e){return e>>>=0,e===0?32:31-(pv(e)/gv|0)|0}var So=64,Co=4194304;function Sr(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function oa(e,t){var i=e.pendingLanes;if(i===0)return 0;var n=0,r=e.suspendedLanes,o=e.pingedLanes,a=i&268435455;if(a!==0){var s=a&~r;s!==0?n=Sr(s):(o&=a,o!==0&&(n=Sr(o)))}else a=i&~r,a!==0?n=Sr(a):o!==0&&(n=Sr(o));if(n===0)return 0;if(t!==0&&t!==n&&!(t&r)&&(r=n&-n,o=t&-t,r>=o||r===16&&(o&4194240)!==0))return t;if(n&4&&(n|=i&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=n;0<t;)i=31-yt(t),r=1<<i,n|=e[i],t&=~r;return n}function mv(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function hv(e,t){for(var i=e.suspendedLanes,n=e.pingedLanes,r=e.expirationTimes,o=e.pendingLanes;0<o;){var a=31-yt(o),s=1<<a,l=r[a];l===-1?(!(s&i)||s&n)&&(r[a]=mv(s,t)):l<=t&&(e.expiredLanes|=s),o&=~s}}function ll(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function rg(){var e=So;return So<<=1,!(So&4194240)&&(So=64),e}function vs(e){for(var t=[],i=0;31>i;i++)t.push(e);return t}function ao(e,t,i){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-yt(t),e[t]=i}function vv(e,t){var i=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var n=e.eventTimes;for(e=e.expirationTimes;0<i;){var r=31-yt(i),o=1<<r;t[r]=0,n[r]=-1,e[r]=-1,i&=~o}}function uc(e,t){var i=e.entangledLanes|=t;for(e=e.entanglements;i;){var n=31-yt(i),r=1<<n;r&t|e[n]&t&&(e[n]|=t),i&=~r}}var ee=0;function og(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var ag,pc,sg,lg,cg,cl=!1,Ao=[],bi=null,wi=null,Si=null,jr=new Map,Br=new Map,di=[],xv="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Ld(e,t){switch(e){case"focusin":case"focusout":bi=null;break;case"dragenter":case"dragleave":wi=null;break;case"mouseover":case"mouseout":Si=null;break;case"pointerover":case"pointerout":jr.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Br.delete(t.pointerId)}}function pr(e,t,i,n,r,o){return e===null||e.nativeEvent!==o?(e={blockedOn:t,domEventName:i,eventSystemFlags:n,nativeEvent:o,targetContainers:[r]},t!==null&&(t=lo(t),t!==null&&pc(t)),e):(e.eventSystemFlags|=n,t=e.targetContainers,r!==null&&t.indexOf(r)===-1&&t.push(r),e)}function yv(e,t,i,n,r){switch(t){case"focusin":return bi=pr(bi,e,t,i,n,r),!0;case"dragenter":return wi=pr(wi,e,t,i,n,r),!0;case"mouseover":return Si=pr(Si,e,t,i,n,r),!0;case"pointerover":var o=r.pointerId;return jr.set(o,pr(jr.get(o)||null,e,t,i,n,r)),!0;case"gotpointercapture":return o=r.pointerId,Br.set(o,pr(Br.get(o)||null,e,t,i,n,r)),!0}return!1}function dg(e){var t=Gi(e.target);if(t!==null){var i=ln(t);if(i!==null){if(t=i.tag,t===13){if(t=Yp(i),t!==null){e.blockedOn=t,cg(e.priority,function(){sg(i)});return}}else if(t===3&&i.stateNode.current.memoizedState.isDehydrated){e.blockedOn=i.tag===3?i.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Go(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var i=dl(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(i===null){i=e.nativeEvent;var n=new i.constructor(i.type,i);rl=n,i.target.dispatchEvent(n),rl=null}else return t=lo(i),t!==null&&pc(t),e.blockedOn=i,!1;t.shift()}return!0}function Nd(e,t,i){Go(e)&&i.delete(t)}function bv(){cl=!1,bi!==null&&Go(bi)&&(bi=null),wi!==null&&Go(wi)&&(wi=null),Si!==null&&Go(Si)&&(Si=null),jr.forEach(Nd),Br.forEach(Nd)}function gr(e,t){e.blockedOn===t&&(e.blockedOn=null,cl||(cl=!0,Ke.unstable_scheduleCallback(Ke.unstable_NormalPriority,bv)))}function Dr(e){function t(r){return gr(r,e)}if(0<Ao.length){gr(Ao[0],e);for(var i=1;i<Ao.length;i++){var n=Ao[i];n.blockedOn===e&&(n.blockedOn=null)}}for(bi!==null&&gr(bi,e),wi!==null&&gr(wi,e),Si!==null&&gr(Si,e),jr.forEach(t),Br.forEach(t),i=0;i<di.length;i++)n=di[i],n.blockedOn===e&&(n.blockedOn=null);for(;0<di.length&&(i=di[0],i.blockedOn===null);)dg(i),i.blockedOn===null&&di.shift()}var Ln=Xt.ReactCurrentBatchConfig,aa=!0;function wv(e,t,i,n){var r=ee,o=Ln.transition;Ln.transition=null;try{ee=1,gc(e,t,i,n)}finally{ee=r,Ln.transition=o}}function Sv(e,t,i,n){var r=ee,o=Ln.transition;Ln.transition=null;try{ee=4,gc(e,t,i,n)}finally{ee=r,Ln.transition=o}}function gc(e,t,i,n){if(aa){var r=dl(e,t,i,n);if(r===null)Es(e,t,n,sa,i),Ld(e,n);else if(yv(r,e,t,i,n))n.stopPropagation();else if(Ld(e,n),t&4&&-1<xv.indexOf(e)){for(;r!==null;){var o=lo(r);if(o!==null&&ag(o),o=dl(e,t,i,n),o===null&&Es(e,t,n,sa,i),o===r)break;r=o}r!==null&&n.stopPropagation()}else Es(e,t,n,null,i)}}var sa=null;function dl(e,t,i,n){if(sa=null,e=cc(n),e=Gi(e),e!==null)if(t=ln(e),t===null)e=null;else if(i=t.tag,i===13){if(e=Yp(t),e!==null)return e;e=null}else if(i===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return sa=e,null}
vendor: 10,401 bytes, line 37
37function ug(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(cv()){case dc:return 1;case ig:return 4;case ra:case dv:return 16;case ng:return 536870912;default:return 16}default:return 16}}var vi=null,fc=null,Ho=null;function pg(){if(Ho)return Ho;var e,t=fc,i=t.length,n,r="value"in vi?vi.value:vi.textContent,o=r.length;for(e=0;e<i&&t[e]===r[e];e++);var a=i-e;for(n=1;n<=a&&t[i-n]===r[o-n];n++);return Ho=r.slice(e,1<n?1-n:void 0)}function $o(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Io(){return!0}function Md(){return!1}function Ye(e){function t(i,n,r,o,a){this._reactName=i,this._targetInst=r,this.type=n,this.nativeEvent=o,this.target=a,this.currentTarget=null;for(var s in e)e.hasOwnProperty(s)&&(i=e[s],this[s]=i?i(o):o[s]);return this.isDefaultPrevented=(o.defaultPrevented!=null?o.defaultPrevented:o.returnValue===!1)?Io:Md,this.isPropagationStopped=Md,this}return de(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var i=this.nativeEvent;i&&(i.preventDefault?i.preventDefault():typeof i.returnValue!="unknown"&&(i.returnValue=!1),this.isDefaultPrevented=Io)},stopPropagation:function(){var i=this.nativeEvent;i&&(i.stopPropagation?i.stopPropagation():typeof i.cancelBubble!="unknown"&&(i.cancelBubble=!0),this.isPropagationStopped=Io)},persist:function(){},isPersistent:Io}),t}var tr={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},mc=Ye(tr),so=de({},tr,{view:0,detail:0}),Cv=Ye(so),xs,ys,fr,Na=de({},so,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:hc,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==fr&&(fr&&e.type==="mousemove"?(xs=e.screenX-fr.screenX,ys=e.screenY-fr.screenY):ys=xs=0,fr=e),xs)},movementY:function(e){return"movementY"in e?e.movementY:ys}}),Od=Ye(Na),Av=de({},Na,{dataTransfer:0}),Iv=Ye(Av),kv=de({},so,{relatedTarget:0}),bs=Ye(kv),Ev=de({},tr,{animationName:0,elapsedTime:0,pseudoElement:0}),Rv=Ye(Ev),zv=de({},tr,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Pv=Ye(zv),Tv=de({},tr,{data:0}),Ud=Ye(Tv),Lv={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Nv={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Mv={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Ov(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Mv[e])?!!t[e]:!1}function hc(){return Ov}var Uv=de({},so,{key:function(e){if(e.key){var t=Lv[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=$o(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Nv[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:hc,charCode:function(e){return e.type==="keypress"?$o(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?$o(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),jv=Ye(Uv),Bv=de({},Na,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),jd=Ye(Bv),Dv=de({},so,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:hc}),Fv=Ye(Dv),_v=de({},tr,{propertyName:0,elapsedTime:0,pseudoElement:0}),Gv=Ye(_v),Hv=de({},Na,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),$v=Ye(Hv),Vv=[9,13,27,32],vc=Vt&&"CompositionEvent"in window,kr=null;Vt&&"documentMode"in document&&(kr=document.documentMode);var Wv=Vt&&"TextEvent"in window&&!kr,gg=Vt&&(!vc||kr&&8<kr&&11>=kr),Bd=" ",Dd=!1;function fg(e,t){switch(e){case"keyup":return Vv.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function mg(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var yn=!1;function qv(e,t){switch(e){case"compositionend":return mg(t);case"keypress":return t.which!==32?null:(Dd=!0,Bd);case"textInput":return e=t.data,e===Bd&&Dd?null:e;default:return null}}function Qv(e,t){if(yn)return e==="compositionend"||!vc&&fg(e,t)?(e=pg(),Ho=fc=vi=null,yn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return gg&&t.locale!=="ko"?null:t.data;default:return null}}var Zv={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Fd(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!Zv[e.type]:t==="textarea"}function hg(e,t,i,n){qp(n),t=la(t,"onChange"),0<t.length&&(i=new mc("onChange","change",null,i,n),e.push({event:i,listeners:t}))}var Er=null,Fr=null;function Kv(e){Eg(e,0)}function Ma(e){var t=Sn(e);if(Fp(t))return e}function Xv(e,t){if(e==="change")return t}var vg=!1;if(Vt){var ws;if(Vt){var Ss="oninput"in document;if(!Ss){var _d=document.createElement("div");_d.setAttribute("oninput","return;"),Ss=typeof _d.oninput=="function"}ws=Ss}else ws=!1;vg=ws&&(!document.documentMode||9<document.documentMode)}function Gd(){Er&&(Er.detachEvent("onpropertychange",xg),Fr=Er=null)}function xg(e){if(e.propertyName==="value"&&Ma(Fr)){var t=[];hg(t,Fr,e,cc(e)),Xp(Kv,t)}}function Yv(e,t,i){e==="focusin"?(Gd(),Er=t,Fr=i,Er.attachEvent("onpropertychange",xg)):e==="focusout"&&Gd()}function Jv(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Ma(Fr)}function e0(e,t){if(e==="click")return Ma(t)}function t0(e,t){if(e==="input"||e==="change")return Ma(t)}function i0(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var wt=typeof Object.is=="function"?Object.is:i0;function _r(e,t){if(wt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var i=Object.keys(e),n=Object.keys(t);if(i.length!==n.length)return!1;for(n=0;n<i.length;n++){var r=i[n];if(!Ws.call(t,r)||!wt(e[r],t[r]))return!1}return!0}function Hd(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function $d(e,t){var i=Hd(e);e=0;for(var n;i;){if(i.nodeType===3){if(n=e+i.textContent.length,e<=t&&n>=t)return{node:i,offset:t-e};e=n}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=Hd(i)}}function yg(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?yg(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function bg(){for(var e=window,t=ta();t instanceof e.HTMLIFrameElement;){try{var i=typeof t.contentWindow.location.href=="string"}catch{i=!1}if(i)e=t.contentWindow;else break;t=ta(e.document)}return t}function xc(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function n0(e){var t=bg(),i=e.focusedElem,n=e.selectionRange;if(t!==i&&i&&i.ownerDocument&&yg(i.ownerDocument.documentElement,i)){if(n!==null&&xc(i)){if(t=n.start,e=n.end,e===void 0&&(e=t),"selectionStart"in i)i.selectionStart=t,i.selectionEnd=Math.min(e,i.value.length);else if(e=(t=i.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var r=i.textContent.length,o=Math.min(n.start,r);n=n.end===void 0?o:Math.min(n.end,r),!e.extend&&o>n&&(r=n,n=o,o=r),r=$d(i,o);var a=$d(i,n);r&&a&&(e.rangeCount!==1||e.anchorNode!==r.node||e.anchorOffset!==r.offset||e.focusNode!==a.node||e.focusOffset!==a.offset)&&(t=t.createRange(),t.setStart(r.node,r.offset),e.removeAllRanges(),o>n?(e.addRange(t),e.extend(a.node,a.offset)):(t.setEnd(a.node,a.offset),e.addRange(t)))}}for(t=[],e=i;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof i.focus=="function"&&i.focus(),i=0;i<t.length;i++)e=t[i],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var r0=Vt&&"documentMode"in document&&11>=document.documentMode,bn=null,ul=null,Rr=null,pl=!1;function Vd(e,t,i){var n=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;pl||bn==null||bn!==ta(n)||(n=bn,"selectionStart"in n&&xc(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focu
vendor: 4,501 bytes, line 37
37sNode:n.focusNode,focusOffset:n.focusOffset}),Rr&&_r(Rr,n)||(Rr=n,n=la(ul,"onSelect"),0<n.length&&(t=new mc("onSelect","select",null,t,i),e.push({event:t,listeners:n}),t.target=bn)))}function ko(e,t){var i={};return i[e.toLowerCase()]=t.toLowerCase(),i["Webkit"+e]="webkit"+t,i["Moz"+e]="moz"+t,i}var wn={animationend:ko("Animation","AnimationEnd"),animationiteration:ko("Animation","AnimationIteration"),animationstart:ko("Animation","AnimationStart"),transitionend:ko("Transition","TransitionEnd")},Cs={},wg={};Vt&&(wg=document.createElement("div").style,"AnimationEvent"in window||(delete wn.animationend.animation,delete wn.animationiteration.animation,delete wn.animationstart.animation),"TransitionEvent"in window||delete wn.transitionend.transition);function Oa(e){if(Cs[e])return Cs[e];if(!wn[e])return e;var t=wn[e],i;for(i in t)if(t.hasOwnProperty(i)&&i in wg)return Cs[e]=t[i];return e}var Sg=Oa("animationend"),Cg=Oa("animationiteration"),Ag=Oa("animationstart"),Ig=Oa("transitionend"),kg=new Map,Wd="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Mi(e,t){kg.set(e,t),sn(t,[e])}for(var As=0;As<Wd.length;As++){var Is=Wd[As],o0=Is.toLowerCase(),a0=Is[0].toUpperCase()+Is.slice(1);Mi(o0,"on"+a0)}Mi(Sg,"onAnimationEnd");Mi(Cg,"onAnimationIteration");Mi(Ag,"onAnimationStart");Mi("dblclick","onDoubleClick");Mi("focusin","onFocus");Mi("focusout","onBlur");Mi(Ig,"onTransitionEnd");Vn("onMouseEnter",["mouseout","mouseover"]);Vn("onMouseLeave",["mouseout","mouseover"]);Vn("onPointerEnter",["pointerout","pointerover"]);Vn("onPointerLeave",["pointerout","pointerover"]);sn("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));sn("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));sn("onBeforeInput",["compositionend","keypress","textInput","paste"]);sn("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));sn("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));sn("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Cr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),s0=new Set("cancel close invalid load scroll toggle".split(" ").concat(Cr));function qd(e,t,i){var n=e.type||"unknown-event";e.currentTarget=i,ov(n,t,void 0,e),e.currentTarget=null}function Eg(e,t){t=(t&4)!==0;for(var i=0;i<e.length;i++){var n=e[i],r=n.event;n=n.listeners;e:{var o=void 0;if(t)for(var a=n.length-1;0<=a;a--){var s=n[a],l=s.instance,c=s.currentTarget;if(s=s.listener,l!==o&&r.isPropagationStopped())break e;qd(r,s,c),o=l}else for(a=0;a<n.length;a++){if(s=n[a],l=s.instance,c=s.currentTarget,s=s.listener,l!==o&&r.isPropagationStopped())break e;qd(r,s,c),o=l}}}if(na)throw e=sl,na=!1,sl=null,e}function re(e,t){var i=t[vl];i===void 0&&(i=t[vl]=new Set);var n=e+"__bubble";i.has(n)||(Rg(t,e,2,!1),i.add(n))}function ks(e,t,i){var n=0;t&&(n|=4),Rg(i,e,n,t)}var Eo="_reactListening"+Math.random().toString(36).slice(2);function Gr(e){if(!e[Eo]){e[Eo]=!0,Op.forEach(function(i){i!=="selectionchange"&&(s0.has(i)||ks(i,!1,e),ks(i,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Eo]||(t[Eo]=!0,ks("selectionchange",!1,t))}}function Rg(e,t,i,n){switch(ug(t)){case 1:var r=wv;break;case 4:r=Sv;break;default:r=gc}i=r.bind(null,t,i,e),r=void 0,!al||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(r=!0),n?r!==void 0?e.addEventListener(t,i,{capture:!0,passive:r}):e.addEventListener(t,i,!0):r!==void 0?e.addEventListener(t,i,{passive:r}):e.addEventListener(t,i,!1)}function Es(e,t,i,n,r){var o=n;if(!(t&1)&&!(t&2)&&n!==null)e:for(;;){if(n===null)return;var a=n.tag;if(a===3||a===4){var s=n.stateNode.containerInfo;
vendor: 34,393 bytes, lines 37-40
37if(s===r||s.nodeType===8&&s.parentNode===r)break;if(a===4)for(a=n.return;a!==null;){var l=a.tag;if((l===3||l===4)&&(l=a.stateNode.containerInfo,l===r||l.nodeType===8&&l.parentNode===r))return;a=a.return}for(;s!==null;){if(a=Gi(s),a===null)return;if(l=a.tag,l===5||l===6){n=o=a;continue e}s=s.parentNode}}n=n.return}Xp(function(){var c=o,u=cc(i),p=[];e:{var g=kg.get(e);if(g!==void 0){var d=mc,y=e;switch(e){case"keypress":if($o(i)===0)break e;case"keydown":case"keyup":d=jv;break;case"focusin":y="focus",d=bs;break;case"focusout":y="blur",d=bs;break;case"beforeblur":case"afterblur":d=bs;break;case"click":if(i.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":d=Od;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":d=Iv;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":d=Fv;break;case Sg:case Cg:case Ag:d=Rv;break;case Ig:d=Gv;break;case"scroll":d=Cv;break;case"wheel":d=$v;break;case"copy":case"cut":case"paste":d=Pv;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":d=jd}var h=(t&4)!==0,b=!h&&e==="scroll",m=h?g!==null?g+"Capture":null:g;h=[];for(var f=c,v;f!==null;){v=f;var w=v.stateNode;if(v.tag===5&&w!==null&&(v=w,m!==null&&(w=Ur(f,m),w!=null&&h.push(Hr(f,w,v)))),b)break;f=f.return}0<h.length&&(g=new d(g,y,null,i,u),p.push({event:g,listeners:h}))}}if(!(t&7)){e:{if(g=e==="mouseover"||e==="pointerover",d=e==="mouseout"||e==="pointerout",g&&i!==rl&&(y=i.relatedTarget||i.fromElement)&&(Gi(y)||y[Wt]))break e;if((d||g)&&(g=u.window===u?u:(g=u.ownerDocument)?g.defaultView||g.parentWindow:window,d?(y=i.relatedTarget||i.toElement,d=c,y=y?Gi(y):null,y!==null&&(b=ln(y),y!==b||y.tag!==5&&y.tag!==6)&&(y=null)):(d=null,y=c),d!==y)){if(h=Od,w="onMouseLeave",m="onMouseEnter",f="mouse",(e==="pointerout"||e==="pointerover")&&(h=jd,w="onPointerLeave",m="onPointerEnter",f="pointer"),b=d==null?g:Sn(d),v=y==null?g:Sn(y),g=new h(w,f+"leave",d,i,u),g.target=b,g.relatedTarget=v,w=null,Gi(u)===c&&(h=new h(m,f+"enter",y,i,u),h.target=v,h.relatedTarget=b,w=h),b=w,d&&y)t:{for(h=d,m=y,f=0,v=h;v;v=hn(v))f++;for(v=0,w=m;w;w=hn(w))v++;for(;0<f-v;)h=hn(h),f--;for(;0<v-f;)m=hn(m),v--;for(;f--;){if(h===m||m!==null&&h===m.alternate)break t;h=hn(h),m=hn(m)}h=null}else h=null;d!==null&&Qd(p,g,d,h,!1),y!==null&&b!==null&&Qd(p,b,y,h,!0)}}e:{if(g=c?Sn(c):window,d=g.nodeName&&g.nodeName.toLowerCase(),d==="select"||d==="input"&&g.type==="file")var S=Xv;else if(Fd(g))if(vg)S=t0;else{S=Jv;var C=Yv}else(d=g.nodeName)&&d.toLowerCase()==="input"&&(g.type==="checkbox"||g.type==="radio")&&(S=e0);if(S&&(S=S(e,c))){hg(p,S,i,u);break e}C&&C(e,g,c),e==="focusout"&&(C=g._wrapperState)&&C.controlled&&g.type==="number"&&Js(g,"number",g.value)}switch(C=c?Sn(c):window,e){case"focusin":(Fd(C)||C.contentEditable==="true")&&(bn=C,ul=c,Rr=null);break;case"focusout":Rr=ul=bn=null;break;case"mousedown":pl=!0;break;case"contextmenu":case"mouseup":case"dragend":pl=!1,Vd(p,i,u);break;case"selectionchange":if(r0)break;case"keydown":case"keyup":Vd(p,i,u)}var A;if(vc)e:{switch(e){case"compositionstart":var z="onCompositionStart";break e;case"compositionend":z="onCompositionEnd";break e;case"compositionupdate":z="onCompositionUpdate";break e}z=void 0}else yn?fg(e,i)&&(z="onCompositionEnd"):e==="keydown"&&i.keyCode===229&&(z="onCompositionStart");z&&(gg&&i.locale!=="ko"&&(yn||z!=="onCompositionStart"?z==="onCompositionEnd"&&yn&&(A=pg()):(vi=u,fc="value"in vi?vi.value:vi.textContent,yn=!0)),C=la(c,z),0<C.length&&(z=new Ud(z,e,null,i,u),p.push({event:z,listeners:C}),A?z.data=A:(A=mg(i),A!==null&&(z.data=A)))),(A=Wv?qv(e,i):Qv(e,i))&&(c=la(c,"onBeforeInput"),0<c.length&&(u=new Ud("onBeforeInput","beforeinput",null,i,u),p.push({event:u,listeners:c}),u.data=A))}Eg(p,t)})}function Hr(e,t,i){return{instance:e,listener:t,currentTarget:i}}function la(e,t){for(var i=t+"Capture",n=[];e!==null;){var r=e,o=r.stateNode;r.tag===5&&o!==null&&(r=o,o=Ur(e,i),o!=null&&n.unshift(Hr(e,o,r)),o=Ur(e,t),o!=null&&n.push(Hr(e,o,r))),e=e.return}return n}function hn(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function Qd(e,t,i,n,r){for(var o=t._reactName,a=[];i!==null&&i!==n;){var s=i,l=s.alternate,c=s.stateNode;if(l!==null&&l===n)break;s.tag===5&&c!==null&&(s=c,r?(l=Ur(i,o),l!=null&&a.unshift(Hr(i,l,s))):r||(l=Ur(i,o),l!=null&&a.push(Hr(i,l,s)))),i=i.return}a.length!==0&&e.push({event:t,listeners:a})}var l0=/\r\n?/g,c0=/\u0000|\uFFFD/g;function Zd(e){return(typeof e=="string"?e:""+e).replace(l0,`
38`).replace(c0,"")}function Ro(e,t,i){if(t=Zd(t),Zd(e)!==t&&i)throw Error(P(425))}function ca(){}var gl=null,fl=null;function ml(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var hl=typeof setTimeout=="function"?setTimeout:void 0,d0=typeof clearTimeout=="function"?clearTimeout:void 0,Kd=typeof Promise=="function"?Promise:void 0,u0=typeof queueMicrotask=="function"?queueMicrotask:typeof Kd<"u"?function(e){return Kd.resolve(null).then(e).catch(p0)}:hl;function p0(e){setTimeout(function(){throw e})}function Rs(e,t){var i=t,n=0;do{var r=i.nextSibling;if(e.removeChild(i),r&&r.nodeType===8)if(i=r.data,i==="/$"){if(n===0){e.removeChild(r),Dr(t);return}n--}else i!=="$"&&i!=="$?"&&i!=="$!"||n++;i=r}while(i);Dr(t)}function Ci(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function Xd(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var i=e.data;if(i==="$"||i==="$!"||i==="$?"){if(t===0)return e;t--}else i==="/$"&&t++}e=e.previousSibling}return null}var ir=Math.random().toString(36).slice(2),Pt="__reactFiber$"+ir,$r="__reactProps$"+ir,Wt="__reactContainer$"+ir,vl="__reactEvents$"+ir,g0="__reactListeners$"+ir,f0="__reactHandles$"+ir;function Gi(e){var t=e[Pt];if(t)return t;for(var i=e.parentNode;i;){if(t=i[Wt]||i[Pt]){if(i=t.alternate,t.child!==null||i!==null&&i.child!==null)for(e=Xd(e);e!==null;){if(i=e[Pt])return i;e=Xd(e)}return t}e=i,i=e.parentNode}return null}function lo(e){return e=e[Pt]||e[Wt],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function Sn(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(P(33))}function Ua(e){return e[$r]||null}var xl=[],Cn=-1;function Oi(e){return{current:e}}function oe(e){0>Cn||(e.current=xl[Cn],xl[Cn]=null,Cn--)}function ie(e,t){Cn++,xl[Cn]=e.current,e.current=t}var zi={},Te=Oi(zi),_e=Oi(!1),en=zi;function Wn(e,t){var i=e.type.contextTypes;if(!i)return zi;var n=e.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===t)return n.__reactInternalMemoizedMaskedChildContext;var r={},o;for(o in i)r[o]=t[o];return n&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=r),r}function Ge(e){return e=e.childContextTypes,e!=null}function da(){oe(_e),oe(Te)}function Yd(e,t,i){if(Te.current!==zi)throw Error(P(168));ie(Te,t),ie(_e,i)}function zg(e,t,i){var n=e.stateNode;if(t=t.childContextTypes,typeof n.getChildContext!="function")return i;n=n.getChildContext();for(var r in n)if(!(r in t))throw Error(P(108,Yh(e)||"Unknown",r));return de({},i,n)}function ua(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||zi,en=Te.current,ie(Te,e),ie(_e,_e.current),!0}function Jd(e,t,i){var n=e.stateNode;if(!n)throw Error(P(169));i?(e=zg(e,t,en),n.__reactInternalMemoizedMergedChildContext=e,oe(_e),oe(Te),ie(Te,e)):oe(_e),ie(_e,i)}var Ft=null,ja=!1,zs=!1;function Pg(e){Ft===null?Ft=[e]:Ft.push(e)}function m0(e){ja=!0,Pg(e)}function Ui(){if(!zs&&Ft!==null){zs=!0;var e=0,t=ee;try{var i=Ft;for(ee=1;e<i.length;e++){var n=i[e];do n=n(!0);while(n!==null)}Ft=null,ja=!1}catch(r){throw Ft!==null&&(Ft=Ft.slice(e+1)),tg(dc,Ui),r}finally{ee=t,zs=!1}}return null}var An=[],In=0,pa=null,ga=0,it=[],nt=0,tn=null,Gt=1,Ht="";function Fi(e,t){An[In++]=ga,An[In++]=pa,pa=e,ga=t}function Tg(e,t,i){it[nt++]=Gt,it[nt++]=Ht,it[nt++]=tn,tn=e;var n=Gt;e=Ht;var r=32-yt(n)-1;n&=~(1<<r),i+=1;var o=32-yt(t)+r;if(30<o){var a=r-r%5;o=(n&(1<<a)-1).toString(32),n>>=a,r-=a,Gt=1<<32-yt(t)+r|i<<r|n,Ht=o+e}else Gt=1<<o|i<<r|n,Ht=e}function yc(e){e.return!==null&&(Fi(e,1),Tg(e,1,0))}function bc(e){for(;e===pa;)pa=An[--In],An[In]=null,ga=An[--In],An[In]=null;for(;e===tn;)tn=it[--nt],it[nt]=null,Ht=it[--nt],it[nt]=null,Gt=it[--nt],it[nt]=null}var Qe=null,qe=null,se=!1,xt=null;function Lg(e,t){var i=rt(5,null,null,0);i.elementType="DELETED",i.stateNode=t,i.return=e,t=e.deletions,t===null?(e.deletions=[i],e.flags|=16):t.push(i)}function eu(e,t){switch(e.tag){case 5:var i=e.type;return t=t.nodeType!==1||i.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,Qe=e,qe=Ci(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,Qe=e,qe=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(i=tn!==null?{id:Gt,overflow:Ht}:null,e.memoizedState={dehydrated:t,treeContext:i,retryLane:1073741824},i=rt(18,null,null,0),i.stateNode=t,i.return=e,e.child=i,Qe=e,qe=null,!0):!1;default:return!1}}function yl(e){return(e.mode&1)!==0&&(e.flags&128)===0}function bl(e){if(se){var t=qe;if(t){var i=t;if(!eu(e,t)){if(yl(e))throw Error(P(418));t=Ci(i.nextSibling);var n=Qe;t&&eu(e,t)?Lg(n,i):(e.flags=e.flags&-4097|2,se=!1,Qe=e)}}else{if(yl(e))throw Error(P(418));e.flags=e.flags&-4097|2,se=!1,Qe=e}}}function tu(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;Qe=e}function zo(e){if(e!==Qe)return!1;if(!se)return tu(e),se=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!ml(e.type,e.memoizedProps)),t&&(t=qe)){if(yl(e))throw Ng(),Error(P(418));for(;t;)Lg(e,t),t=Ci(t.nextSibling)}if(tu(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(P(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var i=e.data;if(i==="/$"){if(t===0){qe=Ci(e.nextSibling);break e}t--}else i!=="$"&&i!=="$!"&&i!=="$?"||t++}e=e.nextSibling}qe=null}}else qe=Qe?Ci(e.stateNode.nextSibling):null;return!0}function Ng(){for(var e=qe;e;)e=Ci(e.nextSibling)}function qn(){qe=Qe=null,se=!1}function wc(e){xt===null?xt=[e]:xt.push(e)}var h0=Xt.ReactCurrentBatchConfig;function mr(e,t,i){if(e=i.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(i._owner){if(i=i._owner,i){if(i.tag!==1)throw Error(P(309));var n=i.stateNode}if(!n)throw Error(P(147,e));var r=n,o=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===o?t.ref:(t=function(a){var s=r.refs;a===null?delete s[o]:s[o]=a},t._stringRef=o,t)}if(typeof e!="string")throw Error(P(284));if(!i._owner)throw Error(P(290,e))}return e}function Po(e,t){throw e=Object.prototype.toString.call(t),Error(P(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function iu(e){var t=e._init;return t(e._payload)}function Mg(e){function t(m,f){if(e){var v=m.deletions;v===null?(m.deletions=[f],m.flags|=16):v.push(f)}}function i(m,f){if(!e)return null;for(;f!==null;)t(m,f),f=f.sibling;return null}function n(m,f){for(m=new Map;f!==null;)f.key!==null?m.set(f.key,f):m.set(f.index,f),f=f.sibling;return m}function r(m,f){return m=Ei(m,f),m.index=0,m.sibling=null,m}function o(m,f,v){return m.index=v,e?(v=m.alternate,v!==null?(v=v.index,v<f?(m.flags|=2,f):v):(m.flags|=2,f)):(m.flags|=1048576,f)}function a(m){return e&&m.alternate===null&&(m.flags|=2),m}function s(m,f,v,w){return f===null||f.tag!==6?(f=Us(v,m.mode,w),f.return=m,f):(f=r(f,v),f.return=m,f)}function l(m,f,v,w){var S=v.type;return S===xn?u(m,f,v.props.children,w,v.key):f!==null&&(f.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===li&&iu(S)===f.type)?(w=r(f,v.props),w.ref=mr(m,f,v),w.return=m,w):(w=Xo(v.type,v.key,v.props,null,m.mode,w),w.ref=mr(m,f,v),w.return=m,w)}function c(m,f,v,w){return f===null||f.tag!==4||f.stateNode.containerInfo!==v.containerInfo||f.stateNode.implementation!==v.implementation?(f=js(v,m.mode,w),f.return=m,f):(f=r(f,v.children||[]),f.return=m,f)}function u(m,f,v,w,S){return f===null||f.tag!==7?(f=Yi(v,m.mode,w,S),f.return=m,f):(f=r(f,v),f.return=m,f)}function p(m,f,v){if(typeof f=="string"&&f!==""||typeof f=="number")return f=Us(""+f,m.mode,v),f.return=m,f;if(typeof f=="object"&&f!==null){switch(f.$$typeof){case yo:return v=Xo(f.type,f.key,f.props,null,m.mode,v),v.ref=mr(m,null,f),v.return=m,v;case vn:return f=js(f,m.mode,v),f.return=m,f;case li:var w=f._init;return p(m,w(f._payload),v)}if(wr(f)||dr(f))return f=Yi(f,m.mode,v,null),f.return=m,f;Po(m,f)}return null}function g(m,f,v,w){var S=f!==null?f.key:null;if(typeof v=="string"&&v!==""||typeof v=="number")return S!==null?null:s(m,f,""+v,w);if(typeof v=="object"&&v!==null){switch(v.$$typeof){case yo:return v.key===S?l(m,f,v,w):null;case vn:return v.key===S?c(m,f,v,w):null;case li:return S=v._init,g(m,f,S(v._payload),w)}if(wr(v)||dr(v))return S!==null?null:u(m,f,v,w,null);Po(m,v)}return null}function d(m,f,v,w,S){if(typeof w=="string"&&w!==""||typeof w=="number")return m=m.get(v)||null,s(f,m,""+w,S);if(typeof w=="object"&&w!==null){switch(w.$$typeof){case yo:return m=m.get(w.key===null?v:w.key)||null,l(f,m,w,S);case vn:return m=m.get(w.key===null?v:w.key)||null,c(f,m,w,S);case li:var C=w._init;return d(m,f,v,C(w._payload),S)}if(wr(w)||dr(w))return m=m.get(v)||null,u(f,m,w,S,null);Po(f,w)}return null}function y(m,f,v,w){for(var S=null,C=null,A=f,z=f=0,N=null;A!==null&&z<v.length;z++){A.index>z?(N=A,A=null):N=A.sibling;var L=g(m,A,v[z],w);if(L===null){A===null&&(A=N);break}e&&A&&L.alternate===null&&t(m,A),f=o(L,f,z),C===null?S=L:C.sibling=L,C=L,A=N}if(z===v.length)return i(m,A),se&&Fi(m,z),S;if(A===null){for(;z<v.length;z++)A=p(m,v[z],w),A!==null&&(f=o(A,f,z),C===null?S=A:C.sibling=A,C=A);return se&&Fi(m,z),S}for(A=n(m,A);z<v.length;z++)N=d(A,m,z,v[z],w),N!==null&&(e&&N.alternate!==null&&A.delete(N.key===null?z:N.key),f=o(N,f,z),C===null?S=N:C.sibling=N,C=N);return e&&A.forEach(function(D){return t(m,D)}),se&&Fi(m,z),S}function h(m,f,v,w){var S=dr(v);if(typeof S!="function")throw Error(P(150));if(v=S.call(v),v==null)throw Error(P(151));for(var C=S=null,A=f,z=f=0,N=null,L=v.next();A!==null&&!L.done;z++,L=v.next()){A.index>z?(N=A,A=null):N=A.sibling;var D=g(m,A,L.value,w);if(D===null){A===null&&(A=N);break}e&&A&&D.alternate===null&&t(m,A),f=o(D,f,z),C===null?S=D:C.sibling=D,C=D,A=N}if(L.done)return i(m,A),se&&Fi(m,z),S;if(A===null){for(;!L.done;z++,L=v.next())L=p(m,L.value,w),L!==null&&(f=o(L,f,z),C===null?S=L:C.sibling=L,C=L);return se&&Fi(m,z),S}for(A=n(m,A);!L.done;z++,L=v.next())L=d(A,m,z,L.value,w),L!==null&&(e&&L.alternate!==null&&A.delete(L.key===null?z:L.key),f=o(L,f,z),C===null?S=L:C.sibling=L,C=L);return e&&A.forEach(function(j){return t(m,j)}),se&&Fi(m,z),S}function b(m,f,v,w){if(typeof v=="object"&&v!==null&&v.type===xn&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case yo:e:{for(var S=v.key,C=f;C!==null;){if(C.key===S){if(S=v.type,S===xn){if(C.tag===7){i(m,C.sibling),f=r(C,v.props.children),f.return=m,m=f;break e}}else if(C.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===li&&iu(S)===C.type){i(m,C.sibling),f=r(C,v.props),f.ref=mr(m,C,v),f.return=m,m=f;break e}i(m,C);break}else t(m,C);C=C.sibling}v.type===xn?(f=Yi(v.props.children,m.mode,w,v.key),f.return=m,m=f):(w=Xo(v.type,v.key,v.props,null,m.mode,w),w.ref=mr(m,f,v),w.return=m,m=w)}return a(m);case vn:e:{for(C=v.key;f!==null;){if(f.key===C)if(f.tag===4&&f.stateNode.containerInfo===v.containerInfo&&f.stateNode.implementation===v.implementation){i(m,f.sibling),f=r(f,v.children||[]),f.return=m,m=f;break e}else{i(m,f);break}else t(m,f);f=f.sibling}f=js(v,m.mode,w),f.return=m,m=f}return a(m);case li:return C=v._init,b(m,f,C(v._payload),w)}if(wr(v))return y(m,f,v,w);if(dr(v))return h(m,f,v,w);Po(m,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,f!==null&&f.tag===6?(i(m,f.sibling),f=r(f,v),f.return=m,m=f):(i(m,f),f=Us(v,m.mode,w),f.return=m,m=f),a(m)):i(m,f)}return b}var Qn=Mg(!0),Og=Mg(!1),fa=Oi(null),ma=null,kn=null,Sc=null;function Cc(){Sc=kn=ma=null}function Ac(e){var t=fa.current;oe(fa),e._currentValue=t}function wl(e,t,i){for(;e!==null;){var n=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,n!==null&&(n.childLanes|=t)):n!==null&&(n.childLanes&t)!==t&&(n.childLanes|=t),e===i)break;e=e.return}}function Nn(e,t){ma=e,Sc=kn=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Fe=!0),e.firstContext=null)}function at(e){var t=e._currentValue;if(Sc!==e)if(e={context:e,memoizedValue:t,next:null},kn===null){if(ma===null)throw Error(P(308));kn=e,ma.dependencies={lanes:0,firstContext:e}}else kn=kn.next=e;return t}var Hi=null;function Ic(e){Hi===null?Hi=[e]:Hi.push(e)}function Ug(e,t,i,n){var r=t.interleaved;return r===null?(i.next=i,Ic(t)):(i.next=r.next,r.next=i),t.interleaved=i,qt(e,n)}function qt(e,t){e.lanes|=t;var i=e.alternate;for(i!==null&&(i.lanes|=t),i=e,e=e.return;e!==null;)e.childLanes|=t,i=e.alternate,i!==null&&(i.childLanes|=t),i=e,e=e.return;return i.tag===3?i.stateNode:null}var ci=!1;function kc(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function jg(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function $t(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Ai(e,t,i){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,X&2){var r=n.pending;return r===null?t.next=t:(t.next=r.next,r.next=t),n.pending=t,qt(e,i)}return r=n.interleaved,r===null?(t.next=t,Ic(n)):(t.next=r.next,r.next=t),n.interleaved=t,qt(e,i)}function Vo(e,t,i){if(t=t.updateQueue,t!==null&&(t=t.shared,(i&4194240)!==0)){var n=t.lanes;n&=e.pendingLanes,i|=n,t.lanes=i,uc(e,i)}}function nu(e,t){var i=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,i===n)){var r=null,o=null;if(i=i.firstBaseUpdate,i!==null){do{var a={eventTime:i.eventTime,lane:i.lane,tag:i.tag,payload:i.payload,callback:i.callback,next:null};o===null?r=o=a:o=o.next=a,i=i.next}while(i!==null);o===null?r=o=t:o=o.next=t}else r=o=t;i={baseState:n.baseState,firstBaseUpdate:r,lastBaseUpdate:o,shared:n.shared,effects:n.effects},e.updateQueue=i;return}e=i.lastBaseUpdate,e===null?i.firstBaseUpdate=t:e.next=t,i.lastBaseUpdate=t}function ha(e,t,i,n){var r=e.updateQueue;ci=!1;var o=r.firstBaseUpdate,a=r.lastBaseUpdate,s=r.shared.pending;if(s!==null){r.shared.pending=null;var l=s,c=l.next;l.next=null,a===null?o=c:a.next=c,a=l;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==a&&(s===null?u.firstBaseUpdate=c:s.next=c,u.lastBaseUpdate=l))}if(o!==null){var p=r.baseState;a=0,u=c=l=null,s=o;do{var g=s.lane,d=s.eventTime;if((n&g)===g){u!==null&&(u=u.next={eventTime:d,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var y=e,h=s;switch(g=t,d=i,h.tag){case 1:if(y=h.payload,typeof y=="function"){p=y.call(d,p,g);break e}p=y;break e;case 3:y.flags=y.flags&-65537|128;case 0:if(y=h.payload,g=typeof y=="function"?y.call(d,p,g):y,g==null)break e;p=de({},p,g);break e;case 2:ci=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,g=r.effects,g===null?r.effects=[s]:g.push(s))}else d={eventTime:d,lane:g,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(c=u=d,l=p):u=u.next=d,a|=g;if(s=s.next,s===null){if(s=r.shared.pending,s===null)break;g=s,s=g.next,g.next=null,r.lastBaseUpdate=g,r.shared.pending=null}}while(!0);if(u===null&&(l=p),r.baseState=l,r.firstBaseUpdate=c,r.lastBaseUpdate=u,t=r.shared.interleaved,t!==null){r=t;do a|=r.lane,r=r.next;while(r!==t)}else o===null&&(r.shared.lanes=0);rn|=a,e.lanes=a,e.memoizedState=p}}function ru(e,t,i){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var n=e[t],r=n.callback;if(r!==null){if(n.callback=null,n=i,typeof r!="function")throw Error(P(191,r));r.call(n)}}}var co={},Nt=Oi(co),Vr=Oi(co),Wr=Oi(co);function $i(e){if(e===co)throw Error(P(174));return e}function Ec(e,t){switch(ie(Wr,t),ie(Vr,e),ie(Nt,co),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:tl(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=tl(t,e)}oe(Nt),ie(Nt,t)}function Zn(){oe(Nt),oe(Vr),oe(Wr)}function Bg(e){$i(Wr.current);var t=$i(Nt.current),i=tl(t,e.type);t!==i&&(ie(Vr,e),ie(Nt,i))}function Rc(e){Vr.current===e&&(oe(Nt),oe(Vr))}var le=Oi(0);function va(e){for(var t=e;t!==null;){if(t.tag===13){var i=t.memoizedState;if(i!==null&&(i=i.dehydrated,i===null||i.data==="$?"||i.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Ps=[];function zc(){for(var e=0;e<Ps.length;e++)Ps[e]._workInProgressVersionPrimary=null;Ps.length=0}var Wo=Xt.ReactCurrentDispatcher,Ts=Xt.ReactCurrentBatchConfig,nn=0,ce=null,he=null,be=null,xa=!1,zr=!1,qr=0,v0=0;function Ee(){throw Error(P(321))}function Pc(e,t){if(t===null)return!1;for(var i=0;i<t.length&&i<e.length;i++)if(!wt(e[i],t[i]))return!1;return!0}function Tc(e,t,i,n,r,o){if(nn=o,ce=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Wo.current=e===null||e.memoizedState===null?w0:S0,e=i(n,r),zr){o=0;do{if(zr=!1,qr=0,25<=o)throw Error(P(301));o+=1,be=he=null,t.updateQueue=null,Wo.current=C0,e=i(n,r)}while(zr)}if(Wo.current=ya,t=he!==null&&he.next!==null,nn=0,be=he=ce=null,xa=!1,t)throw Error(P(300));return e}function Lc(){var e=qr!==0;return qr=0,e}function kt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return be===null?ce.memoizedState=be=e:be=be.next=e,be}function st(){if(he===null){var e=ce.alternate;e=e!==null?e.memoizedState:null}else e=he.next;var t=be===null?ce.memoizedState:be.next;if(t!==null)be=t,he=e;else{if(e===null)throw Error(P(310));he=e,e={memoizedState:he.memoizedState,baseState:he.baseState,baseQueue:he.baseQueue,queue:he.queue,next:null},be===null?ce.memoizedState=be=e:be=be.next=e}return be}function Qr(e,t){return typeof t=="function"?t(e):t}function Ls(e){var t=st(),i=t.queue;if(i===null)throw Error(P(311));i.lastRenderedReducer=e;var n=he,r=n.baseQueue,o=i.pending;if(o!==null){if(r!==null){var a=r.next;r.next=o.next,o.next=a}n.baseQueue=r=o,i.pending=null}if(r!==null){o=r.next,n=n.baseState;var s=a=null,l=null,c=o;do{var u=c.lane;if((nn&u)===u)l!==null&&(l=l.next={lane:0,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),n=c.hasEagerState?c.eagerState:e(n,c.action);else{var p={lane:u,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null};l===null?(s=l=p,a=n):l=l.next=p,ce.lanes|=u,rn|=u}c=c.next}while(c!==null&&c!==o);l===null?a=n:l.next=s,wt(n,t.memoizedState)||(Fe=!0),t.memoizedState=n,t.baseState=a,t.baseQueue=l,i.lastRenderedState=n}if(e=i.interleaved,e!==null){r=e;do o=r.lane,ce.lanes|=o,rn|=o,r=r.next;while(r!==e)}else r===null&&(i.lanes=0);return[t.memoizedState,i.dispatch]}function Ns(e){var t=st(),i=t.queue;if(i===null)throw Error(P(311));i.lastRenderedReducer=e;var n=i.dispatch,r=i.pending,o=t.memoizedState;if(r!==null){i.pending=null;var a=r=r.next;do o=e(o,a.action),a=a.next;while(a!==r);wt(o,t.memoizedState)||(Fe=!0),t.memoizedState=o,t.baseQueue===null&&(t.baseState=o),i.lastRenderedState=o}return[o,n]}function Dg(){}function Fg(e,t){var i=ce,n=st(),r=t(),o=!wt(n.memoizedState,r);if(o&&(n.memoizedState=r,Fe=!0),n=n.queue,Nc(Hg.bind(null,i,n,e),[e]),n.getSnapshot!==t||o||be!==null&&be.memoizedState.tag&1){if(i.flags|=2048,Zr(9,Gg.bind(null,i,n,r,t),void 0,null),we===null)throw Error(P(349));nn&30||_g(i,t,r)}return r}function _g(e,t,i){e.flags|=16384,e={getSnapshot:t,value:i},t=ce.updateQueue,t===null?(t={lastEffect:null,stores:null},ce.updateQueue=t,t.stores=[e]):(i=t.stores,i===null?t.stores=[e]:i.push(e))}function Gg(e,t,i,n){t.value=i,t.getSnapshot=n,$g(t)&&Vg(e)}function Hg(e,t,i){return i(function(){$g(t)&&Vg(e)})}function $g(e){var t=e.getSnapshot;e=e.value;try{var i=t();return!wt(e,i)}catch{return!0}}function Vg(e){var t=qt(e,1);t!==null&&bt(t,e,1,-1)}function ou(e){var t=kt();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Qr,lastRenderedState:e},t.queue=e,e=e.dispatch=b0.bind(null,ce,e),[t.memoizedState,e]}function Zr(e,t,i,n){return e={tag:e,create:t,destroy:i,deps:n,next:null},t=ce.updateQueue,t===null?(t={lastEffect:null,stores:null},ce.updateQueue=t,t.lastEffect=e.next=e):(i=t.lastEffect,i===null?t.lastEffect=e.next=e:(n=i.next,i.next=e,e.next=n,t.lastEffect=e)),e}function Wg(){return st().memoizedState}function qo(e,t,i,n){var r=kt();ce.flags|=e,r.memoizedState=Zr(1|t,i,void 0,n===void 0?null:n)}function Ba(e,t,i,n){var r=st();n=n===void 0?null:n;var o=void 0;if(he!==null){var a=he.memoizedState;if(o=a.destroy,n!==null&&Pc(n,a.deps)){r.memoizedState=Zr(t,i,o,n);return}}ce.flags|=e,r.memoizedState=Zr(1|t,i,o,n)}function au(e,t){return qo(8390656,8,e,t)}function Nc(e,t){return Ba(2048,8,e,t)}function qg(e,t){return Ba(4,2,e,t)}function Qg(e,t){return Ba(4,4,e,t)}function Zg(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Kg(e,t,i){return i=i!=null?i.concat([e]):null,Ba(4,4,Zg.bind(null,t,e),i)}function Mc(){}function Xg(e,t){var i=st();t=t===void 0?null:t;var n=i.memoizedState;return n!==null&&t!==null&&Pc(t,n[1])?n[0]:(i.memoizedState=[e,t],e)}function Yg(e,t){var i=st();t=t===void 0?null:t;var n=i.memoizedState;return n!==null&&t!==null&&Pc(t,n[1])?n[0]:(e=e(),i.memoizedState=[e,t],e)}function Jg(e,t,i){return nn&21?(wt(i,t)||(i=rg(),ce.lanes|=i,rn|=i,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,Fe=!0),e.memoizedState=i)}function x0(e,t){var i=ee;ee=i!==0&&4>i?i:4,e(!0);var n=Ts.transition;Ts.transition={};try{e(!1),t()}finally{ee=i,Ts.transition=n}}function ef(){return st().memoizedState}function y0(e,t,i){var n=ki(e);if(i={lane:n,action:i,hasEagerState:!1,eagerState:null,next:null},tf(e))nf(t,i);else if(i=Ug(e,t,i,n),i!==null){var r=Oe();bt(i,e,n,r),rf(i,t,n)}}function b0(e,t,i){var n=ki(e),r={lane:n,action:i,hasEagerState:!1,eagerState:null,next:null};if(tf(e))nf(t,r);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var a=t.lastRenderedState,s=o(a,i);if(r.hasEagerState=!0,r.eagerState=s,wt(s,a)){var l=t.interleaved;l===null?(r.next=r,Ic(t)):(r.next=l.next,l.next=r),t.interleaved=r;return}}catch{}finally{}i=Ug(e,t,r,n),i!==null&&(r=Oe(),bt(i,e,n,r),rf(i,t,n))}}function tf(e){var t=e.alternate;return e===ce||t!==null&&t===ce}function nf(e,t){zr=xa=!0;var i=e.pending;i===null?t.next=t:(t.next=i.next,i.next=t),e.pending=t}function rf(e,t,i){if(i&4194240){var n=t.lanes;n&=e.pendingLanes,i|=n,t.lanes=i,uc(e,i)}}var ya={readContext:at,useCallback:Ee,useContext:Ee,useEffect:Ee,useImperativeHandle:Ee,useInsertionEffect:Ee,useLayoutEffect:Ee,useMemo:Ee,useReducer:Ee,useRef:Ee,useState:Ee,useDebugValue:Ee,useDeferredValue:Ee,useTransition:Ee,useMutableSource:Ee,useSyncExternalStore:Ee,useId:Ee,unstable_isNewReconciler:!1},w0={readContext:at,useCallback:function(e,t){return kt().memoizedState=[e,t===void 0?null:t],e},useContext:at,useEffect:au,useImperativeHandle:function(e,t,i){return i=i!=null?i.concat([e]):null,qo(4194308,4,Zg.bind(null,t,e),i)},useLayoutEffect:function(e,t){return qo(4194308,4,e,t)},useInsertionEffect:function(e,t){return qo(4,2,e,t)},useMemo:function(e,t){var i=kt();return t=t===void 0?null:t,e=e(),i.memoizedState=[e,t],e},useReducer:function(e,t,i){var n=kt();return t=i!==void 0?i(t):t,n.memoizedState=n.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},n.queue=e,e=e.dispatch=y0.bind(null,ce,e),[n.memoizedState,e]},useRef:function(e){var t=kt();return e={current:e},t.memoizedState=e},useState:ou,useDebugValue:Mc,useDeferredValue:function(e){return kt().memoizedState=e},useTransition:function(){var e=ou(!1),t=e[0];return e=x0.bind(null,e[1]),kt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,i){var n=ce,r=kt();if(se){if(i===void 0)throw Error(P(407));i=i()}else{if(i=t(),we===null)throw Error(P(349));nn&30||_g(n,t,i)}r.memoizedState=i;var o={value:i,getSnapshot:t};return r.queue=o,au(Hg.bind(null,n,o,e),[e]),n.flags|=2048,Zr(9,Gg.bind(null,n,o,i,t),void 0,null),i},useId:function(){var e=kt(),t=we.identifierPrefix;if(se){var i=Ht,n=Gt;i=(n&~(1<<32-yt(n)-1)).toString(32)+i,t=":"+t+"R"+i,i=qr++,0<i&&(t+="H"+i.toString(32)),t+=":"}else i=v0++,t=":"+t+"r"+i.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},S0={readContext:at,useCallback:Xg,useContext:at,useEffect:Nc,useImperativeHandle:Kg,useInsertionEffect:qg,useLayoutEffect:Qg,useMemo:Yg,useReducer:Ls,useRef:Wg,useState:function(){return Ls(Qr)},useDebugValue:Mc,useDeferredValue:function(e){var t=st();return Jg(t,he.memoizedState,e)},useTransition:function(){var e=Ls(Qr)[0],t=st().memoizedState;return[e,t]},useMutableSource:Dg,useSyncExternalStore:Fg,useId:ef,unstable_isNewReconciler:!1},C0={readContext:at,useCallback:Xg,useContext:at,useEffect:Nc,useImperativeHandle:Kg,useInsertionEffect:qg,useLayoutEffect:Qg,useMemo:Yg,useReducer:Ns,useRef:Wg,useState:function(){return Ns(Qr)},useDebugValue:Mc,useDeferredValue:function(e){var t=st();return he===null?t.memoizedState=e:Jg(t,he.memoizedState,e)},useTransition:function(){var e=Ns(Qr)[0],t=st().memoizedState;return[e,t]},useMutableSource:Dg,useSyncExternalStore:Fg,useId:ef,unstable_isNewReconciler:!1};function gt(e,t){if(e&&e.defaultProps){t=de({},t),e=e.defaultProps;for(var i in e)t[i]===void 0&&(t[i]=e[i]);return t}return t}function Sl(e,t,i,n){t=e.memoizedState,i=i(n,t),i=i==null?t:de({},t,i),e.memoizedState=i,e.lanes===0&&(e.updateQueue.baseState=i)}var Da={isMounted:function(e){return(e=e._reactInternals)?ln(e)===e:!1},enqueueSetState:function(e,t,i){e=e._reactInternals;var n=Oe(),r=ki(e),o=$t(n,r);o.payload=t,i!=null&&(o.callback=i),t=Ai(e,o,r),t!==null&&(bt(t,e,r,n),Vo(t,e,r))},enqueueReplaceState:function(e,t,i){e=e._reactInternals;var n=Oe(),r=ki(e),o=$t(n,r);o.tag=1,o.payload=t,i!=null&&(o.callback=i),t=Ai(e,o,r),t!==null&&(bt(t,e,r,n),Vo(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var i=Oe(),n=ki(e),r=$t(i,n);r.tag=2,t!=null&&(r.callback=t),t=Ai(e,r,n),t!==null&&(bt(t,e,n,i),Vo(t,e,n))}};function su(e,t,i,n,r,o,a){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(n,o,a):t.prototype&&t.prototype.isPureReactComponent?!_r(i,n)||!_r(r,o):!0}function of(e,t,i){var n=!1,r=zi,o=t.contextType;return typeof o=="object"&&o!==null?o=at(o):(r=Ge(t)?en:Te.current,n=t.contextTypes,o=(n=n!=null)?Wn(e,r):zi),t=new t(i,o),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=Da,e.stateNode=t,t._reactInternals=e,n&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=r,e.__reactInternalMemoizedMaskedChildContext=o),t}function lu(e,t,i,n){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(i,n),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(i,n),t.state!==e&&Da.enqueueReplaceState(t,t.state,null)}function Cl(e,t,i,n){var r=e.stateNode;r.props=i,r.state=e.memoizedState,r.refs={},kc(e);var o=t.contextType;typeof o=="object"&&o!==null?r.context=at(o):(o=Ge(t)?en:Te.current,r.context=Wn(e,o)),r.state=e.memoizedState,o=t.getDerivedStateFromProps,typeof o=="function"&&(Sl(e,t,o,i),r.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof r.getSnapshotBeforeUpdate=="function"||typeof r.UNSAFE_componentWillMount!="function"&&typeof r.componentWillMount!="function"||(t=r.state,typeof r.componentWillMount=="function"&&r.componentWillMount(),typeof r.UNSAFE_componentWillMount=="function"&&r.UNSAFE_componentWillMount(),t!==r.state&&Da.enqueueReplaceState(r,r.state,null),ha(e,i,r,n),r.state=e.memoizedState),typeof r.componentDidMount=="function"&&(e.flags|=4194308)}function Kn(e,t){try{var i="",n=t;do i+=Xh(n),n=n.return;while(n);var r=i}catch(o){r=`
39Error generating stack: `+o.message+`
40`+o.stack}return{value:e,source:t,stack:r,digest:null}}function Ms(e,t,i){return{value:e,source:null,stack:i??null,digest:t??null}}function Al(e,t){try{console.error(t.value)}catch(i){setTimeout(function(){throw i})}}var A0=typeof WeakMap=="function"?WeakMap:Map;function af(e,t,i){i=$t(-1,i),i.tag=3,i.payload={element:null};var n=t.value;return i.callback=function(){wa||(wa=!0,Ml=n),Al(e,t)},i}function sf(e,t,i){i=$t(-1,i),i.tag=3;var n=e.type.getDerivedStateFromError;if(typeof n=="function"){var r=t.value;i.payload=function(){return n(r)},i.callback=function(){Al(e,t)}}var o=e.stateNode;return o!==null&&typeof o.componentDidCatch=="function"&&(i.callback=function(){Al(e,t),typeof n!="function"&&(Ii===null?Ii=new Set([this]):Ii.add(this));var a=t.stack;this.componentDidCatch(t.value,{componentStack:a!==null?a:""})}),i}function cu(e,t,i){var n=e.pingCache;if(n===null){n=e.pingCache=new A0;var r=new Set;n.set(t,r)}else r=n.get(t),r===void 0&&(r=new Set,n.set(t,r));r.has(i)||(r.add(i),e=B0.bind(null,e,t,i),t.then(e,e))}function du(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function uu(e,t,i,n,r){return e.mode&1?(e.flags|=65536,e.lanes=r,e):(e===t?e.flags|=65536:(e.flags|=128,i.flags|=131072,i.flags&=-52805,i.tag===1&&(i.alternate===null?i.tag=17:(t=$t(-1,1),t.tag=2,Ai(i,t,1))),i.lanes|=1),e)}var I0=Xt.ReactCurrentOwner,Fe=!1;function Ne(e,t,i,n){t.child=e===null?Og(t,null,i,n):Qn(t,e.child,i,n)}function pu(e,t,i,n,r){i=i.render;var o=t.ref;return Nn(t,r),n=Tc(e,t,i,n,o,r),i=Lc(),e!==null&&!Fe?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,Qt(e,t,r)):(se&&i&&yc(t),t.flags|=1,Ne(e,t,n,r),t.child)}
vendor: 7,587 bytes, line 40
40function gu(e,t,i,n,r){if(e===null){var o=i.type;return typeof o=="function"&&!Gc(o)&&o.defaultProps===void 0&&i.compare===null&&i.defaultProps===void 0?(t.tag=15,t.type=o,lf(e,t,o,n,r)):(e=Xo(i.type,null,n,t,t.mode,r),e.ref=t.ref,e.return=t,t.child=e)}if(o=e.child,!(e.lanes&r)){var a=o.memoizedProps;if(i=i.compare,i=i!==null?i:_r,i(a,n)&&e.ref===t.ref)return Qt(e,t,r)}return t.flags|=1,e=Ei(o,n),e.ref=t.ref,e.return=t,t.child=e}function lf(e,t,i,n,r){if(e!==null){var o=e.memoizedProps;if(_r(o,n)&&e.ref===t.ref)if(Fe=!1,t.pendingProps=n=o,(e.lanes&r)!==0)e.flags&131072&&(Fe=!0);else return t.lanes=e.lanes,Qt(e,t,r)}return Il(e,t,i,n,r)}function cf(e,t,i){var n=t.pendingProps,r=n.children,o=e!==null?e.memoizedState:null;if(n.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},ie(Rn,Ve),Ve|=i;else{if(!(i&1073741824))return e=o!==null?o.baseLanes|i:i,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,ie(Rn,Ve),Ve|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},n=o!==null?o.baseLanes:i,ie(Rn,Ve),Ve|=n}else o!==null?(n=o.baseLanes|i,t.memoizedState=null):n=i,ie(Rn,Ve),Ve|=n;return Ne(e,t,r,i),t.child}function df(e,t){var i=t.ref;(e===null&&i!==null||e!==null&&e.ref!==i)&&(t.flags|=512,t.flags|=2097152)}function Il(e,t,i,n,r){var o=Ge(i)?en:Te.current;return o=Wn(t,o),Nn(t,r),i=Tc(e,t,i,n,o,r),n=Lc(),e!==null&&!Fe?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,Qt(e,t,r)):(se&&n&&yc(t),t.flags|=1,Ne(e,t,i,r),t.child)}function fu(e,t,i,n,r){if(Ge(i)){var o=!0;ua(t)}else o=!1;if(Nn(t,r),t.stateNode===null)Qo(e,t),of(t,i,n),Cl(t,i,n,r),n=!0;else if(e===null){var a=t.stateNode,s=t.memoizedProps;a.props=s;var l=a.context,c=i.contextType;typeof c=="object"&&c!==null?c=at(c):(c=Ge(i)?en:Te.current,c=Wn(t,c));var u=i.getDerivedStateFromProps,p=typeof u=="function"||typeof a.getSnapshotBeforeUpdate=="function";p||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(s!==n||l!==c)&&lu(t,a,n,c),ci=!1;var g=t.memoizedState;a.state=g,ha(t,n,a,r),l=t.memoizedState,s!==n||g!==l||_e.current||ci?(typeof u=="function"&&(Sl(t,i,u,n),l=t.memoizedState),(s=ci||su(t,i,s,n,g,l,c))?(p||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount=="function"&&(t.flags|=4194308)):(typeof a.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=n,t.memoizedState=l),a.props=n,a.state=l,a.context=c,n=s):(typeof a.componentDidMount=="function"&&(t.flags|=4194308),n=!1)}else{a=t.stateNode,jg(e,t),s=t.memoizedProps,c=t.type===t.elementType?s:gt(t.type,s),a.props=c,p=t.pendingProps,g=a.context,l=i.contextType,typeof l=="object"&&l!==null?l=at(l):(l=Ge(i)?en:Te.current,l=Wn(t,l));var d=i.getDerivedStateFromProps;(u=typeof d=="function"||typeof a.getSnapshotBeforeUpdate=="function")||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(s!==p||g!==l)&&lu(t,a,n,l),ci=!1,g=t.memoizedState,a.state=g,ha(t,n,a,r);var y=t.memoizedState;s!==p||g!==y||_e.current||ci?(typeof d=="function"&&(Sl(t,i,d,n),y=t.memoizedState),(c=ci||su(t,i,c,n,g,y,l)||!1)?(u||typeof a.UNSAFE_componentWillUpdate!="function"&&typeof a.componentWillUpdate!="function"||(typeof a.componentWillUpdate=="function"&&a.componentWillUpdate(n,y,l),typeof a.UNSAFE_componentWillUpdate=="function"&&a.UNSAFE_componentWillUpdate(n,y,l)),typeof a.componentDidUpdate=="function"&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof a.componentDidUpdate!="function"||s===e.memoizedProps&&g===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&g===e.memoizedState||(t.flags|=1024),t.memoizedProps=n,t.memoizedState=y),a.props=n,a.state=y,a.context=l,n=c):(typeof a.componentDidUpdate!="function"||s===e.memoizedProps&&g===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&g===e.memoizedState||(t.flags|=1024),n=!1)}return kl(e,t,i,n,o,r)}function kl(e,t,i,n,r,o){df(e,t);var a=(t.flags&128)!==0;if(!n&&!a)return r&&Jd(t,i,!1),Qt(e,t,o);n=t.stateNode,I0.current=t;var s=a&&typeof i.getDerivedStateFromError!="function"?null:n.render();return t.flags|=1,e!==null&&a?(t.child=Qn(t,e.child,null,o),t.child=Qn(t,null,s,o)):Ne(e,t,s,o),t.memoizedState=n.state,r&&Jd(t,i,!0),t.child}function uf(e){var t=e.stateNode;t.pendingContext?Yd(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Yd(e,t.context,!1),Ec(e,t.containerInfo)}function mu(e,t,i,n,r){return qn(),wc(r),t.flags|=256,Ne(e,t,i,n),t.child}var El={dehydrated:null,treeContext:null,retryLane:0};function Rl(e){return{baseLanes:e,cachePool:null,transitions:null}}function pf(e,t,i){var n=t.pendingProps,r=le.current,o=!1,a=(t.flags&128)!==0,s;if((s=a)||(s=e!==null&&e.memoizedState===null?!1:(r&2)!==0),s?(o=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(r|=1),ie(le,r&1),e===null)return bl(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(a=n.children,e=n.fallback,o?(n=t.mode,o=t.child,a={mode:"hidden",children:a},!(n&1)&&o!==null?(o.childLanes=0,o.pendingProps=a):o=Ga(a,n,0,null),e=Yi(e,n,i,null),o.return=t,e.return=t,o.sibling=e,t.child=o,t.child.memoizedState=Rl(i),t.memoizedState=El,e):Oc(t,a));if(r=e.memoizedState,r!==null&&(s=r.dehydrated,s!==null))return k0(e,t,a,n,s,r,i);if(o){o=n.fallback,a=t.mode,r=e.child,s=r.sibling;var l={mode:"hidden",children:n.children};return!(a&1)&&t.child!==r?(n=t.child,n.childLanes=0,n.pendingProps=l,t.deletions=null):(n=Ei(r,l),n.subtreeFlags=r.subtreeFlags&14680064),s!==null?o=Ei(s,o):(o=Yi(o,a,i,null),o.flags|=2),o.return=t,n.return=t,n.sibling=o,t.child=n,n=o,o=t.child,a=e.child.memoizedState,a=a===null?Rl(i):{baseLanes:a.baseLanes|i,cachePool:null,transitions:a.transitions},o.memoizedState=a,o.childLanes=e.childLanes&~i,t.memoizedState=El,n}return o=e.child,e=o.sibling,n=Ei(o,{mode:"visible",children:n.children}),!(t.mode&1)&&(n.lanes=i),n.return=t,n.sibling=null,e!==null&&(i=t.deletions,i===null?(t.deletions=[e],t.flags|=16):i.push(e)),t.child=n,t.memoizedState=null,n}function Oc(e,t){return t=Ga({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function To(e,t,i,n){return n!==null&&wc(n),Qn(t,e.child,null,i),e=Oc(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function k0(e,t,i,n,r,o,a){if(i)return t.flags&256?(t.flags&=-257,n=Ms(Error(P(422))),To(e,t,a,n)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(o=n.fallback,r=t.mode,n=Ga({mode:"visible",children:n.children},r,0,null),o=Yi(o,r,a,null),o.flags|=2,n.return=t,o.return=t,n.sibling=o,t.child=n,t.mode&1&&Qn(t,e.child,null,a),t.child.memoizedState=Rl(a),t.memoizedState=El,o);if(!(t.mode&1))return To(e,t,a,null);if(r.data==="$!"){if(n=r.nextSibling&&r.nextSibling.dataset,n)var s=n.dgst;return n=s,o=Error(P(419)),n=Ms(o,n,void 0),To(e,t,a,n)}if(s=(a&e.childLanes)!==0,Fe||s){if(n=we,n!==null){switch(a&-a){case 4:r=2;break;case 16:r=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:r=32;break;case 536870912:r=268435456;break;default:r=0}
vendor: 4,522 bytes, line 40
40r=r&(n.suspendedLanes|a)?0:r,r!==0&&r!==o.retryLane&&(o.retryLane=r,qt(e,r),bt(n,e,r,-1))}return _c(),n=Ms(Error(P(421))),To(e,t,a,n)}return r.data==="$?"?(t.flags|=128,t.child=e.child,t=D0.bind(null,e),r._reactRetry=t,null):(e=o.treeContext,qe=Ci(r.nextSibling),Qe=t,se=!0,xt=null,e!==null&&(it[nt++]=Gt,it[nt++]=Ht,it[nt++]=tn,Gt=e.id,Ht=e.overflow,tn=t),t=Oc(t,n.children),t.flags|=4096,t)}function hu(e,t,i){e.lanes|=t;var n=e.alternate;n!==null&&(n.lanes|=t),wl(e.return,t,i)}function Os(e,t,i,n,r){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:n,tail:i,tailMode:r}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=n,o.tail=i,o.tailMode=r)}function gf(e,t,i){var n=t.pendingProps,r=n.revealOrder,o=n.tail;if(Ne(e,t,n.children,i),n=le.current,n&2)n=n&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&hu(e,i,t);else if(e.tag===19)hu(e,i,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}n&=1}if(ie(le,n),!(t.mode&1))t.memoizedState=null;else switch(r){case"forwards":for(i=t.child,r=null;i!==null;)e=i.alternate,e!==null&&va(e)===null&&(r=i),i=i.sibling;i=r,i===null?(r=t.child,t.child=null):(r=i.sibling,i.sibling=null),Os(t,!1,r,i,o);break;case"backwards":for(i=null,r=t.child,t.child=null;r!==null;){if(e=r.alternate,e!==null&&va(e)===null){t.child=r;break}e=r.sibling,r.sibling=i,i=r,r=e}Os(t,!0,i,null,o);break;case"together":Os(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Qo(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Qt(e,t,i){if(e!==null&&(t.dependencies=e.dependencies),rn|=t.lanes,!(i&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(P(153));if(t.child!==null){for(e=t.child,i=Ei(e,e.pendingProps),t.child=i,i.return=t;e.sibling!==null;)e=e.sibling,i=i.sibling=Ei(e,e.pendingProps),i.return=t;i.sibling=null}return t.child}function E0(e,t,i){switch(t.tag){case 3:uf(t),qn();break;case 5:Bg(t);break;case 1:Ge(t.type)&&ua(t);break;case 4:Ec(t,t.stateNode.containerInfo);break;case 10:var n=t.type._context,r=t.memoizedProps.value;ie(fa,n._currentValue),n._currentValue=r;break;case 13:if(n=t.memoizedState,n!==null)return n.dehydrated!==null?(ie(le,le.current&1),t.flags|=128,null):i&t.child.childLanes?pf(e,t,i):(ie(le,le.current&1),e=Qt(e,t,i),e!==null?e.sibling:null);ie(le,le.current&1);break;case 19:if(n=(i&t.childLanes)!==0,e.flags&128){if(n)return gf(e,t,i);t.flags|=128}if(r=t.memoizedState,r!==null&&(r.rendering=null,r.tail=null,r.lastEffect=null),ie(le,le.current),n)break;return null;case 22:case 23:return t.lanes=0,cf(e,t,i)}return Qt(e,t,i)}var ff,zl,mf,hf;ff=function(e,t){for(var i=t.child;i!==null;){if(i.tag===5||i.tag===6)e.appendChild(i.stateNode);else if(i.tag!==4&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===t)break;for(;i.sibling===null;){if(i.return===null||i.return===t)return;i=i.return}i.sibling.return=i.return,i=i.sibling}};zl=function(){};mf=function(e,t,i,n){var r=e.memoizedProps;if(r!==n){e=t.stateNode,$i(Nt.current);var o=null;switch(i){case"input":r=Xs(e,r),n=Xs(e,n),o=[];break;case"select":r=de({},r,{value:void 0}),n=de({},n,{value:void 0}),o=[];break;case"textarea":r=el(e,r),n=el(e,n),o=[];break;default:typeof r.onClick!="function"&&typeof n.onClick=="function"&&(e.onclick=ca)}il(i,n);var a;i=null;for(c in r)if(!n.hasOwnProperty(c)&&r.hasOwnProperty(c)&&r[c]!=null)if(c==="style"){var s=r[c];for(a in s)s.hasOwnProperty(a)&&(i||(i={}),i[a]="")}else c!=="dangerouslySetInnerHTML"&&c!=="children"&&c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&c!=="autoFocus"&&(Mr.hasOwnProperty(c)?o||(o=[]):(o=o||[]).push(c,null));for(c in n){var l=n[c];if(s=r!=null?r[c]:void 0,n.hasOwnProperty(c)&&l!==s&&(l!=null||s!=null))if(c==="style")if(s){for(a in s)!s.hasOwnProperty(a)||l&&l.hasOwnProperty(a)||(i||(i={}),i[a]="");for(a in l)l.hasOwnProperty(a)&&s[a]!==l[a]&&(i||(i={}),i[a]=l[a])}else i||(o||(o=[]),o.push(c,i)),i=l;else c==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,s=s?s.__html:void 0,l!=null&&s!==l&&(o=o||[]).push(c,l)):c==="children"?typeof l!="string"&&typeof l!="number"||(o=o||[]).push(c,""+l):c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&(Mr.hasOwnProperty(c)?(l!=null&&c==="onScroll"&&re("scroll",e),o||s===l||(
vendor: 4,658 bytes, line 40
40o=[])):(o=o||[]).push(c,l))}i&&(o=o||[]).push("style",i);var c=o;(t.updateQueue=c)&&(t.flags|=4)}};hf=function(e,t,i,n){i!==n&&(t.flags|=4)};function hr(e,t){if(!se)switch(e.tailMode){case"hidden":t=e.tail;for(var i=null;t!==null;)t.alternate!==null&&(i=t),t=t.sibling;i===null?e.tail=null:i.sibling=null;break;case"collapsed":i=e.tail;for(var n=null;i!==null;)i.alternate!==null&&(n=i),i=i.sibling;n===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:n.sibling=null}}function Re(e){var t=e.alternate!==null&&e.alternate.child===e.child,i=0,n=0;if(t)for(var r=e.child;r!==null;)i|=r.lanes|r.childLanes,n|=r.subtreeFlags&14680064,n|=r.flags&14680064,r.return=e,r=r.sibling;else for(r=e.child;r!==null;)i|=r.lanes|r.childLanes,n|=r.subtreeFlags,n|=r.flags,r.return=e,r=r.sibling;return e.subtreeFlags|=n,e.childLanes=i,t}function R0(e,t,i){var n=t.pendingProps;switch(bc(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Re(t),null;case 1:return Ge(t.type)&&da(),Re(t),null;case 3:return n=t.stateNode,Zn(),oe(_e),oe(Te),zc(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(zo(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,xt!==null&&(jl(xt),xt=null))),zl(e,t),Re(t),null;case 5:Rc(t);var r=$i(Wr.current);if(i=t.type,e!==null&&t.stateNode!=null)mf(e,t,i,n,r),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!n){if(t.stateNode===null)throw Error(P(166));return Re(t),null}if(e=$i(Nt.current),zo(t)){n=t.stateNode,i=t.type;var o=t.memoizedProps;switch(n[Pt]=t,n[$r]=o,e=(t.mode&1)!==0,i){case"dialog":re("cancel",n),re("close",n);break;case"iframe":case"object":case"embed":re("load",n);break;case"video":case"audio":for(r=0;r<Cr.length;r++)re(Cr[r],n);break;case"source":re("error",n);break;case"img":case"image":case"link":re("error",n),re("load",n);break;case"details":re("toggle",n);break;case"input":Id(n,o),re("invalid",n);break;case"select":n._wrapperState={wasMultiple:!!o.multiple},re("invalid",n);break;case"textarea":Ed(n,o),re("invalid",n)}il(i,o),r=null;for(var a in o)if(o.hasOwnProperty(a)){var s=o[a];a==="children"?typeof s=="string"?n.textContent!==s&&(o.suppressHydrationWarning!==!0&&Ro(n.textContent,s,e),r=["children",s]):typeof s=="number"&&n.textContent!==""+s&&(o.suppressHydrationWarning!==!0&&Ro(n.textContent,s,e),r=["children",""+s]):Mr.hasOwnProperty(a)&&s!=null&&a==="onScroll"&&re("scroll",n)}switch(i){case"input":bo(n),kd(n,o,!0);break;case"textarea":bo(n),Rd(n);break;case"select":case"option":break;default:typeof o.onClick=="function"&&(n.onclick=ca)}n=r,t.updateQueue=n,n!==null&&(t.flags|=4)}else{a=r.nodeType===9?r:r.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=Hp(i)),e==="http://www.w3.org/1999/xhtml"?i==="script"?(e=a.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof n.is=="string"?e=a.createElement(i,{is:n.is}):(e=a.createElement(i),i==="select"&&(a=e,n.multiple?a.multiple=!0:n.size&&(a.size=n.size))):e=a.createElementNS(e,i),e[Pt]=t,e[$r]=n,ff(e,t,!1,!1),t.stateNode=e;e:{switch(a=nl(i,n),i){case"dialog":re("cancel",e),re("close",e),r=n;break;case"iframe":case"object":case"embed":re("load",e),r=n;break;case"video":case"audio":for(r=0;r<Cr.length;r++)re(Cr[r],e);r=n;break;case"source":re("error",e),r=n;break;case"img":case"image":case"link":re("error",e),re("load",e),r=n;break;case"details":re("toggle",e),r=n;break;case"input":Id(e,n),r=Xs(e,n),re("invalid",e);break;case"option":r=n;break;case"select":e._wrapperState={wasMultiple:!!n.multiple},r=de({},n,{value:void 0}),re("invalid",e);break;case"textarea":Ed(e,n),r=el(e,n),re("invalid",e);break;default:r=n}il(i,r),s=r;for(o in s)if(s.hasOwnProperty(o)){var l=s[o];o==="style"?Wp(e,l):o==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,l!=null&&$p(e,l)):o==="children"?typeof l=="string"?(i!=="textarea"||l!=="")&&Or(e,l):typeof l=="number"&&Or(e,""+l):o!=="suppressContentEditableWarning"&&o!=="suppressHydrationWarning"&&o!=="autoFocus"&&(Mr.hasOwnProperty(o)?l!=null&&o==="onScroll"&&re("scroll",e):l!=null&&oc(e,o,l,a))}switch(i){case"input":bo(e),kd(e,n,!1);break;case"textarea":bo(e),Rd(e);break;case"option":n.value!=null&&e.setAttribute("value",""+Ri(n.value));break;case"select":e.multiple=!!n.multiple,o=n.value,o!=null?zn(e,!!n.multiple,o,!1):n.defaultValue!=null&&zn(e,!!n.multiple,n.defaultValue,!0);break;default:typeof r.onClick=="function"&&(e.onclick=ca)}switch(i){case"button":case"input":case"select":case"textarea":n=!!n.autoFocus;break e;case"img":n=!0;break e;default:n=!1}}n&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}
vendor: 29,903 bytes, line 40
40return Re(t),null;case 6:if(e&&t.stateNode!=null)hf(e,t,e.memoizedProps,n);else{if(typeof n!="string"&&t.stateNode===null)throw Error(P(166));if(i=$i(Wr.current),$i(Nt.current),zo(t)){if(n=t.stateNode,i=t.memoizedProps,n[Pt]=t,(o=n.nodeValue!==i)&&(e=Qe,e!==null))switch(e.tag){case 3:Ro(n.nodeValue,i,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&Ro(n.nodeValue,i,(e.mode&1)!==0)}o&&(t.flags|=4)}else n=(i.nodeType===9?i:i.ownerDocument).createTextNode(n),n[Pt]=t,t.stateNode=n}return Re(t),null;case 13:if(oe(le),n=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(se&&qe!==null&&t.mode&1&&!(t.flags&128))Ng(),qn(),t.flags|=98560,o=!1;else if(o=zo(t),n!==null&&n.dehydrated!==null){if(e===null){if(!o)throw Error(P(318));if(o=t.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(P(317));o[Pt]=t}else qn(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Re(t),o=!1}else xt!==null&&(jl(xt),xt=null),o=!0;if(!o)return t.flags&65536?t:null}return t.flags&128?(t.lanes=i,t):(n=n!==null,n!==(e!==null&&e.memoizedState!==null)&&n&&(t.child.flags|=8192,t.mode&1&&(e===null||le.current&1?xe===0&&(xe=3):_c())),t.updateQueue!==null&&(t.flags|=4),Re(t),null);case 4:return Zn(),zl(e,t),e===null&&Gr(t.stateNode.containerInfo),Re(t),null;case 10:return Ac(t.type._context),Re(t),null;case 17:return Ge(t.type)&&da(),Re(t),null;case 19:if(oe(le),o=t.memoizedState,o===null)return Re(t),null;if(n=(t.flags&128)!==0,a=o.rendering,a===null)if(n)hr(o,!1);else{if(xe!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(a=va(e),a!==null){for(t.flags|=128,hr(o,!1),n=a.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),t.subtreeFlags=0,n=i,i=t.child;i!==null;)o=i,e=n,o.flags&=14680066,a=o.alternate,a===null?(o.childLanes=0,o.lanes=e,o.child=null,o.subtreeFlags=0,o.memoizedProps=null,o.memoizedState=null,o.updateQueue=null,o.dependencies=null,o.stateNode=null):(o.childLanes=a.childLanes,o.lanes=a.lanes,o.child=a.child,o.subtreeFlags=0,o.deletions=null,o.memoizedProps=a.memoizedProps,o.memoizedState=a.memoizedState,o.updateQueue=a.updateQueue,o.type=a.type,e=a.dependencies,o.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),i=i.sibling;return ie(le,le.current&1|2),t.child}e=e.sibling}o.tail!==null&&ge()>Xn&&(t.flags|=128,n=!0,hr(o,!1),t.lanes=4194304)}else{if(!n)if(e=va(a),e!==null){if(t.flags|=128,n=!0,i=e.updateQueue,i!==null&&(t.updateQueue=i,t.flags|=4),hr(o,!0),o.tail===null&&o.tailMode==="hidden"&&!a.alternate&&!se)return Re(t),null}else 2*ge()-o.renderingStartTime>Xn&&i!==1073741824&&(t.flags|=128,n=!0,hr(o,!1),t.lanes=4194304);o.isBackwards?(a.sibling=t.child,t.child=a):(i=o.last,i!==null?i.sibling=a:t.child=a,o.last=a)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=ge(),t.sibling=null,i=le.current,ie(le,n?i&1|2:i&1),t):(Re(t),null);case 22:case 23:return Fc(),n=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==n&&(t.flags|=8192),n&&t.mode&1?Ve&1073741824&&(Re(t),t.subtreeFlags&6&&(t.flags|=8192)):Re(t),null;case 24:return null;case 25:return null}throw Error(P(156,t.tag))}function z0(e,t){switch(bc(t),t.tag){case 1:return Ge(t.type)&&da(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Zn(),oe(_e),oe(Te),zc(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Rc(t),null;case 13:if(oe(le),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(P(340));qn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return oe(le),null;case 4:return Zn(),null;case 10:return Ac(t.type._context),null;case 22:case 23:return Fc(),null;case 24:return null;default:return null}}var Lo=!1,Pe=!1,P0=typeof WeakSet=="function"?WeakSet:Set,U=null;function En(e,t){var i=e.ref;if(i!==null)if(typeof i=="function")try{i(null)}catch(n){pe(e,t,n)}else i.current=null}function Pl(e,t,i){try{i()}catch(n){pe(e,t,n)}}var vu=!1;function T0(e,t){if(gl=aa,e=bg(),xc(e)){if("selectionStart"in e)var i={start:e.selectionStart,end:e.selectionEnd};else e:{i=(i=e.ownerDocument)&&i.defaultView||window;var n=i.getSelection&&i.getSelection();if(n&&n.rangeCount!==0){i=n.anchorNode;var r=n.anchorOffset,o=n.focusNode;n=n.focusOffset;try{i.nodeType,o.nodeType}catch{i=null;break e}var a=0,s=-1,l=-1,c=0,u=0,p=e,g=null;t:for(;;){for(var d;p!==i||r!==0&&p.nodeType!==3||(s=a+r),p!==o||n!==0&&p.nodeType!==3||(l=a+n),p.nodeType===3&&(a+=p.nodeValue.length),(d=p.firstChild)!==null;)g=p,p=d;for(;;){if(p===e)break t;if(g===i&&++c===r&&(s=a),g===o&&++u===n&&(l=a),(d=p.nextSibling)!==null)break;p=g,g=p.parentNode}p=d}i=s===-1||l===-1?null:{start:s,end:l}}else i=null}i=i||{start:0,end:0}}else i=null;for(fl={focusedElem:e,selectionRange:i},aa=!1,U=t;U!==null;)if(t=U,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,U=e;else for(;U!==null;){t=U;try{var y=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var h=y.memoizedProps,b=y.memoizedState,m=t.stateNode,f=m.getSnapshotBeforeUpdate(t.elementType===t.type?h:gt(t.type,h),b);m.__reactInternalSnapshotBeforeUpdate=f}break;case 3:var v=t.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(P(163))}}catch(w){pe(t,t.return,w)}if(e=t.sibling,e!==null){e.return=t.return,U=e;break}U=t.return}return y=vu,vu=!1,y}function Pr(e,t,i){var n=t.updateQueue;if(n=n!==null?n.lastEffect:null,n!==null){var r=n=n.next;do{if((r.tag&e)===e){var o=r.destroy;r.destroy=void 0,o!==void 0&&Pl(t,i,o)}r=r.next}while(r!==n)}}function Fa(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var i=t=t.next;do{if((i.tag&e)===e){var n=i.create;i.destroy=n()}i=i.next}while(i!==t)}}function Tl(e){var t=e.ref;if(t!==null){var i=e.stateNode;switch(e.tag){case 5:e=i;break;default:e=i}typeof t=="function"?t(e):t.current=e}}function vf(e){var t=e.alternate;t!==null&&(e.alternate=null,vf(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Pt],delete t[$r],delete t[vl],delete t[g0],delete t[f0])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function xf(e){return e.tag===5||e.tag===3||e.tag===4}function xu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||xf(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ll(e,t,i){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?i.nodeType===8?i.parentNode.insertBefore(e,t):i.insertBefore(e,t):(i.nodeType===8?(t=i.parentNode,t.insertBefore(e,i)):(t=i,t.appendChild(e)),i=i._reactRootContainer,i!=null||t.onclick!==null||(t.onclick=ca));else if(n!==4&&(e=e.child,e!==null))for(Ll(e,t,i),e=e.sibling;e!==null;)Ll(e,t,i),e=e.sibling}function Nl(e,t,i){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?i.insertBefore(e,t):i.appendChild(e);else if(n!==4&&(e=e.child,e!==null))for(Nl(e,t,i),e=e.sibling;e!==null;)Nl(e,t,i),e=e.sibling}var Se=null,vt=!1;function ri(e,t,i){for(i=i.child;i!==null;)yf(e,t,i),i=i.sibling}function yf(e,t,i){if(Lt&&typeof Lt.onCommitFiberUnmount=="function")try{Lt.onCommitFiberUnmount(La,i)}catch{}switch(i.tag){case 5:Pe||En(i,t);case 6:var n=Se,r=vt;Se=null,ri(e,t,i),Se=n,vt=r,Se!==null&&(vt?(e=Se,i=i.stateNode,e.nodeType===8?e.parentNode.removeChild(i):e.removeChild(i)):Se.removeChild(i.stateNode));break;case 18:Se!==null&&(vt?(e=Se,i=i.stateNode,e.nodeType===8?Rs(e.parentNode,i):e.nodeType===1&&Rs(e,i),Dr(e)):Rs(Se,i.stateNode));break;case 4:n=Se,r=vt,Se=i.stateNode.containerInfo,vt=!0,ri(e,t,i),Se=n,vt=r;break;case 0:case 11:case 14:case 15:if(!Pe&&(n=i.updateQueue,n!==null&&(n=n.lastEffect,n!==null))){r=n=n.next;do{var o=r,a=o.destroy;o=o.tag,a!==void 0&&(o&2||o&4)&&Pl(i,t,a),r=r.next}while(r!==n)}ri(e,t,i);break;case 1:if(!Pe&&(En(i,t),n=i.stateNode,typeof n.componentWillUnmount=="function"))try{n.props=i.memoizedProps,n.state=i.memoizedState,n.componentWillUnmount()}catch(s){pe(i,t,s)}ri(e,t,i);break;case 21:ri(e,t,i);break;case 22:i.mode&1?(Pe=(n=Pe)||i.memoizedState!==null,ri(e,t,i),Pe=n):ri(e,t,i);break;default:ri(e,t,i)}}function yu(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var i=e.stateNode;i===null&&(i=e.stateNode=new P0),t.forEach(function(n){var r=F0.bind(null,e,n);i.has(n)||(i.add(n),n.then(r,r))})}}function ut(e,t){var i=t.deletions;if(i!==null)for(var n=0;n<i.length;n++){var r=i[n];try{var o=e,a=t,s=a;e:for(;s!==null;){switch(s.tag){case 5:Se=s.stateNode,vt=!1;break e;case 3:Se=s.stateNode.containerInfo,vt=!0;break e;case 4:Se=s.stateNode.containerInfo,vt=!0;break e}s=s.return}if(Se===null)throw Error(P(160));yf(o,a,r),Se=null,vt=!1;var l=r.alternate;l!==null&&(l.return=null),r.return=null}catch(c){pe(r,t,c)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)bf(t,e),t=t.sibling}function bf(e,t){var i=e.alternate,n=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(ut(t,e),It(e),n&4){try{Pr(3,e,e.return),Fa(3,e)}catch(h){pe(e,e.return,h)}try{Pr(5,e,e.return)}catch(h){pe(e,e.return,h)}}break;case 1:ut(t,e),It(e),n&512&&i!==null&&En(i,i.return);break;case 5:if(ut(t,e),It(e),n&512&&i!==null&&En(i,i.return),e.flags&32){var r=e.stateNode;try{Or(r,"")}catch(h){pe(e,e.return,h)}}if(n&4&&(r=e.stateNode,r!=null)){var o=e.memoizedProps,a=i!==null?i.memoizedProps:o,s=e.type,l=e.updateQueue;if(e.updateQueue=null,l!==null)try{s==="input"&&o.type==="radio"&&o.name!=null&&_p(r,o),nl(s,a);var c=nl(s,o);for(a=0;a<l.length;a+=2){var u=l[a],p=l[a+1];u==="style"?Wp(r,p):u==="dangerouslySetInnerHTML"?$p(r,p):u==="children"?Or(r,p):oc(r,u,p,c)}switch(s){case"input":Ys(r,o);break;case"textarea":Gp(r,o);break;case"select":var g=r._wrapperState.wasMultiple;r._wrapperState.wasMultiple=!!o.multiple;var d=o.value;d!=null?zn(r,!!o.multiple,d,!1):g!==!!o.multiple&&(o.defaultValue!=null?zn(r,!!o.multiple,o.defaultValue,!0):zn(r,!!o.multiple,o.multiple?[]:"",!1))}r[$r]=o}catch(h){pe(e,e.return,h)}}break;case 6:if(ut(t,e),It(e),n&4){if(e.stateNode===null)throw Error(P(162));r=e.stateNode,o=e.memoizedProps;try{r.nodeValue=o}catch(h){pe(e,e.return,h)}}break;case 3:if(ut(t,e),It(e),n&4&&i!==null&&i.memoizedState.isDehydrated)try{Dr(t.containerInfo)}catch(h){pe(e,e.return,h)}break;case 4:ut(t,e),It(e);break;case 13:ut(t,e),It(e),r=e.child,r.flags&8192&&(o=r.memoizedState!==null,r.stateNode.isHidden=o,!o||r.alternate!==null&&r.alternate.memoizedState!==null||(Bc=ge())),n&4&&yu(e);break;case 22:if(u=i!==null&&i.memoizedState!==null,e.mode&1?(Pe=(c=Pe)||u,ut(t,e),Pe=c):ut(t,e),It(e),n&8192){if(c=e.memoizedState!==null,(e.stateNode.isHidden=c)&&!u&&e.mode&1)for(U=e,u=e.child;u!==null;){for(p=U=u;U!==null;){switch(g=U,d=g.child,g.tag){case 0:case 11:case 14:case 15:Pr(4,g,g.return);break;case 1:En(g,g.return);var y=g.stateNode;if(typeof y.componentWillUnmount=="function"){n=g,i=g.return;try{t=n,y.props=t.memoizedProps,y.state=t.memoizedState,y.componentWillUnmount()}catch(h){pe(n,i,h)}}break;case 5:En(g,g.return);break;case 22:if(g.memoizedState!==null){wu(p);continue}}d!==null?(d.return=g,U=d):wu(p)}u=u.sibling}e:for(u=null,p=e;;){if(p.tag===5){if(u===null){u=p;try{r=p.stateNode,c?(o=r.style,typeof o.setProperty=="function"?o.setProperty("display","none","important"):o.display="none"):(s=p.stateNode,l=p.memoizedProps.style,a=l!=null&&l.hasOwnProperty("display")?l.display:null,s.style.display=Vp("display",a))}catch(h){pe(e,e.return,h)}}}else if(p.tag===6){if(u===null)try{p.stateNode.nodeValue=c?"":p.memoizedProps}catch(h){pe(e,e.return,h)}}else if((p.tag!==22&&p.tag!==23||p.memoizedState===null||p===e)&&p.child!==null){p.child.return=p,p=p.child;continue}if(p===e)break e;for(;p.sibling===null;){if(p.return===null||p.return===e)break e;u===p&&(u=null),p=p.return}u===p&&(u=null),p.sibling.return=p.return,p=p.sibling}}break;case 19:ut(t,e),It(e),n&4&&yu(e);break;case 21:break;default:ut(t,e),It(e)}}function It(e){var t=e.flags;if(t&2){try{e:{for(var i=e.return;i!==null;){if(xf(i)){var n=i;break e}i=i.return}throw Error(P(160))}switch(n.tag){case 5:var r=n.stateNode;n.flags&32&&(Or(r,""),n.flags&=-33);var o=xu(e);Nl(e,o,r);break;case 3:case 4:var a=n.stateNode.containerInfo,s=xu(e);Ll(e,s,a);break;default:throw Error(P(161))}}catch(l){pe(e,e.return,l)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function L0(e,t,i){U=e,wf(e)}function wf(e,t,i){for(var n=(e.mode&1)!==0;U!==null;){var r=U,o=r.child;if(r.tag===22&&n){var a=r.memoizedState!==null||Lo;if(!a){var s=r.alternate,l=s!==null&&s.memoizedState!==null||Pe;s=Lo;var c=Pe;if(Lo=a,(Pe=l)&&!c)for(U=r;U!==null;)a=U,l=a.child,a.tag===22&&a.memoizedState!==null?Su(r):l!==null?(l.return=a,U=l):Su(r);for(;o!==null;)U=o,wf(o),o=o.sibling;U=r,Lo=s,Pe=c}bu(e)}else r.subtreeFlags&8772&&o!==null?(o.return=r,U=o):bu(e)}}function bu(e){for(;U!==null;){var t=U;if(t.flags&8772){var i=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:Pe||Fa(5,t);break;case 1:var n=t.stateNode;if(t.flags&4&&!Pe)if(i===null)n.componentDidMount();else{var r=t.elementType===t.type?i.memoizedProps:gt(t.type,i.memoizedProps);n.componentDidUpdate(r,i.memoizedState,n.__reactInternalSnapshotBeforeUpdate)}var o=t.updateQueue;o!==null&&ru(t,o,n);break;case 3:var a=t.updateQueue;if(a!==null){if(i=null,t.child!==null)switch(t.child.tag){case 5:i=t.child.stateNode;break;case 1:i=t.child.stateNode}ru(t,a,i)}break;case 5:var s=t.stateNode;if(i===null&&t.flags&4){i=s;var l=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":l.autoFocus&&i.focus();break;case"img":l.src&&(i.src=l.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var c=t.alternate;if(c!==null){var u=c.memoizedState;if(u!==null){var p=u.dehydrated;p!==null&&Dr(p)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(P(163))}Pe||t.flags&512&&Tl(t)}catch(g){pe(t,t.return,g)}}if(t===e){U=null;break}if(i=t.sibling,i!==null){i.return=t.return,U=i;break}U=t.return}}function wu(e){for(;U!==null;){var t=U;if(t===e){U=null;break}var i=t.sibling;if(i!==null){i.return=t.return,U=i;break}U=t.return}}function Su(e){for(;U!==null;){var t=U;try{switch(t.tag){case 0:case 11:case 15:var i=t.return;try{Fa(4,t)}catch(l){pe(t,i,l)}break;case 1:var n=t.stateNode;if(typeof n.componentDidMount=="function"){var r=t.return;try{n.componentDidMount()}catch(l){pe(t,r,l)}}var o=t.return;try{Tl(t)}catch(l){pe(t,o,l)}break;case 5:var a=t.return;try{Tl(t)}catch(l){pe(t,a,l)}}}catch(l){pe(t,t.return,l)}if(t===e){U=null;break}var s=t.sibling;if(s!==null){s.return=t.return,U=s;break}U=t.return}}var N0=Math.ceil,ba=Xt.ReactCurrentDispatcher,Uc=Xt.ReactCurrentOwner,ot=Xt.ReactCurrentBatchConfig,X=0,we=null,me=null,Ce=0,Ve=0,Rn=Oi(0),xe=0,Kr=null,rn=0,_a=0,jc=0,Tr=null,De=null,Bc=0,Xn=1/0,Dt=null,wa=!1,Ml=null,Ii=null,No=!1,xi=null,Sa=0,Lr=0,Ol=null,Zo=-1,Ko=0;function Oe(){return X&6?ge():Zo!==-1?Zo:Zo=ge()}function ki(e){return e.mode&1?X&2&&Ce!==0?Ce&-Ce:h0.transition!==null?(Ko===0&&(Ko=rg()),Ko):(e=ee,e!==0||(e=window.event,e=e===void 0?16:ug(e.type)),e):1}function bt(e,t,i,n){if(50<Lr)throw Lr=0,Ol=null,Error(P(185));ao(e,i,n),(!(X&2)||e!==we)&&(e===we&&(!(X&2)&&(_a|=i),xe===4&&ui(e,Ce)),He(e,n),i===1&&X===0&&!(t.mode&1)&&(Xn=ge()+500,ja&&Ui()))}function He(e,t){var i=e.callbackNode;hv(e,t);var n=oa(e,e===we?Ce:0);if(n===0)i!==null&&Td(i),e.callbackNode=null,e.callbackPriority=0;else if(t=n&-n,e.callbackPriority!==t){if(i!=null&&Td(i),t===1)e.tag===0?m0(Cu.bind(null,e)):Pg(Cu.bind(null,e)),u0(function(){!(X&6)&&Ui()}),i=null;else{switch(og(n)){case 1:i=dc;break;case 4:i=ig;break;case 16:i=ra;break;case 536870912:i=ng;break;default:i=ra}i=zf(i,Sf.bind(null,e))}e.callbackPriority=t,e.callbackNode=i}}function Sf(e,t){if(Zo=-1,Ko=0,X&6)throw Error(P(327));var i=e.callbackNode;if(Mn()&&e.callbackNode!==i)return null;var n=oa(e,e===we?Ce:0);if(n===0)return null;if(n&30||n&e.expiredLanes||t)t=Ca(e,n);else{t=n;var r=X;X|=2;var o=Af();(we!==e||Ce!==t)&&(Dt=null,Xn=ge()+500,Xi(e,t));do try{U0();break}catch(s){Cf(e,s)}while(!0);Cc(),ba.current=o,X=r,me!==null?t=0:(we=null,Ce=0,t=xe)}if(t!==0){if(t===2&&(r=ll(e),r!==0&&(n=r,t=Ul(e,r))),t===1)throw i=Kr,Xi(e,0),ui(e,n),He(e,ge()),i;if(t===6)ui(e,n);else{if(r=e.current.alternate,!(n&30)&&!M0(r)&&(t=Ca(e,n),t===2&&(o=ll(e),o!==0&&(n=o,t=Ul(e,o))),t===1))throw i=Kr,Xi(e,0),ui(e,n),He(e,ge()),i;switch(e.finishedWork=r,e.finishedLanes=n,t){case 0:case 1:throw Error(P(345));case 2:_i(e,De,Dt);break;case 3:if(ui(e,n),(n&130023424)===n&&(t=Bc+500-ge(),10<t)){if(oa(e,0)!==0)break;if(r=e.suspendedLanes,(r&n)!==n){Oe(),e.pingedLanes|=e.suspendedLanes&r;break}e.timeoutHandle=hl(_i.bind(null,e,De,Dt),t);break}_i(e,De,Dt);break;case 4:if(ui(e,n),(n&4194240)===n)break;for(t=e.eventTimes,r=-1;0<n;){var a=31-yt(n);o=1<<a,a=t[a],a>r&&(r=a),n&=~o}if(n=r,n=ge()-n,n=(120>n?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*N0(n/1960))-n,10<n){e.timeoutHandle=hl(_i.bind(null,e,De,Dt),n);break}_i(e,De,Dt);break;case 5:_i(e,De,Dt);break;default:throw Error(P(329))}}}return He(e,ge()),e.callbackNode===i?Sf.bind(null,e):null}function Ul(e,t){var i=Tr;return e.current.memoizedState.isDehydrated&&(Xi(e,t).flags|=256),e=Ca(e,t),e!==2&&(t=De,De=i,t!==null&&jl(t)),e}function jl(e){De===null?De=e:De.push.apply(De,e)}function M0(e){for(var t=e;;){if(t.flags&16384){var i=t.updateQueue;if(i!==null&&(i=i.stores,i!==null))for(var n=0;n<i.length;n++){var r=i[n],o=r.getSnapshot;r=r.value;try{if(!wt(o(),r))return!1}catch{return!1}}}if(i=t.child,t.subtreeFlags&16384&&i!==null)i.return=t,t=i;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function ui(e,t){for(t&=~jc,t&=~_a,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var i=31-yt(t),n=1<<i;e[i]=-1,t&=~n}}function Cu(e){if(X&6)throw Error(P(327));Mn();var t=oa(e,0);if(!(t&1))return He(e,ge()),null;var i=Ca(e,t);if(e.tag!==0&&i===2){var n=ll(e);n!==0&&(t=n,i=Ul(e,n))}if(i===1)throw i=Kr,Xi(e,0),ui(e,t),He(e,ge()),i;if(i===6)throw Error(P(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,_i(e,De,Dt),He(e,ge()),null}function Dc(e,t){var i=X;X|=1;try{return e(t)}finally{X=i,X===0&&(Xn=ge()+500,ja&&Ui())}}function on(e){xi!==null&&xi.tag===0&&!(X&6)&&Mn();var t=X;X|=1;var i=ot.transition,n=ee;try{if(ot.transition=null,ee=1,e)return e()}finally{ee=n,ot.transition=i,X=t,!(X&6)&&Ui()}}function Fc(){Ve=Rn.current,oe(Rn)}function Xi(e,t){e.finishedWork=null,e.finishedLanes=0;var i=e.timeoutHandle;if(i!==-1&&(e.timeoutHandle=-1,d0(i)),me!==null)for(i=me.return;i!==null;){var n=i;switch(bc(n),n.tag){case 1:n=n.type.childContextTypes,n!=null&&da();break;case 3:Zn(),oe(_e),oe(Te),zc();break;case 5:Rc(n);break;case 4:Zn();break;case 13:oe(le);break;case 19:oe(le);break;case 10:Ac(n.type._context);break;case 22:case 23:Fc()}i=i.return}if(we=e,me=e=Ei(e.current,null),Ce=Ve=t,xe=0,Kr=null,jc=_a=rn=0,De=Tr=null,Hi!==null){for(t=0;t<Hi.length;t++)if(i=Hi[t],n=i.interleaved,n!==null){i.interleaved=null;var r=n.next,o=i.pending;if(o!==null){var a=o.next;o.next=r,n.next=a}i.pending=n}Hi=null}return e}function Cf(e,t){do{var i=me;try{if(Cc(),Wo.current=ya,xa){for(var n=ce.memoizedState;n!==null;){var r=n.queue;r!==null&&(r.pending=null),n=n.next}xa=!1}if(nn=0,be=he=ce=null,zr=!1,qr=0,Uc.current=null,i===null||i.return===null){xe=1,Kr=t,me=null;break}e:{var o=e,a=i.return,s=i,l=t;if(t=Ce,s.flags|=32768,l!==null&&typeof l=="object"&&typeof l.then=="function"){var c=l,u=s,p=u.tag;if(!(u.mode&1)&&(p===0||p===11||p===15)){var g=u.alternate;g?(u.updateQueue=g.updateQueue,u.memoizedState=g.memoizedState,u.lanes=g.lanes):(u.updateQueue=null,u.memoizedState=null)}var d=du(a);if(d!==null){d.flags&=-257,uu(d,a,s,o,t),d.mode&1&&cu(o,c,t),t=d,l=c;var y=t.updateQueue;if(y===null){var h=new Set;h.add(l),t.updateQueue=h}else y.add(l);break e}else{if(!(t&1)){cu(o,c,t),_c();break e}l=Error(P(426))}}else if(se&&s.mode&1){var b=du(a);if(b!==null){!(b.flags&65536)&&(b.flags|=256),uu(b,a,s,o,t),wc(Kn(l,s));break e}}o=l=Kn(l,s),xe!==4&&(xe=2),Tr===null?Tr=[o]:Tr.push(o),o=a;do{switch(o.tag){case 3:o.flags|=65536,t&=-t,o.lanes|=t;var m=af(o,l,t);nu(o,m);break e;case 1:s=l;var f=o.type,v=o.stateNode;if(!(o.flags&128)&&(typeof f.getDerivedStateFromError=="function"||v!==null&&typeof v.componentDidCatch=="function"&&(Ii===null||!Ii.has(v)))){o.flags|=65536,t&=-t,o.lanes|=t;var w=sf(o,s,t);nu(o,w);break e}}o=o.return}while(o!==null)}kf(i)}catch(S){t=S,me===i&&i!==null&&(me=i=i.return);continue}break}while(!0)}function Af(){var e=ba.current;return ba.current=ya,e===null?ya:e}function _c(){(xe===0||xe===3||xe===2)&&(xe=4),we===null||!(rn&268435455)&&!(_a&268435455)||ui(we,Ce)}function Ca(e,t){var i=X;X|=2;var n=Af();(we!==e||Ce!==t)&&(Dt=null,Xi(e,t));do try{O0();break}catch(r){Cf(e,r)}while(!0);if(Cc(),X=i,ba.current=n,me!==null)throw Error(P(261));return we=null,Ce=0,xe}function O0(){for(;me!==null;)If(me)}function U0(){for(;me!==null&&!sv();)If(me)}function If(e){var t=Rf(e.alternate,e,Ve);e.memoizedProps=e.pendingProps,t===null?kf(e):me=t,Uc.current=null}function kf(e){var t=e;do{var i=t.alternate;if(e=t.return,t.flags&32768){if(i=z0(i,t),i!==null){i.flags&=32767,me=i;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{xe=6,me=null;return}}else if(i=R0(i,t,Ve),i!==null){me=i;return}if(t=t.sibling,t!==null){me=t;return}me=t=e}while(t!==null);xe===0&&(xe=5)}function _i(e,t,i){var n=ee,r=ot.transition;try{ot.transition=null,ee=1,j0(e,t,i,n)}finally{ot.transition=r,ee=n}return null}function j0(e,t,i,n){do Mn();while(xi!==null);if(X&6)throw Error(P(327));i=e.finishedWork;var r=e.finishedLanes;if(i===null)return null;if(e.finishedWork=null,e.finishedLanes=0,i===e.current)throw Error(P(177));e.callbackNode=null,e.callbackPriority=0;var o=i.lanes|i.childLanes;if(vv(e,o),e===we&&(me=we=null,Ce=0),!(i.subtreeFlags&2064)&&!(i.flags&2064)||No||(No=!0,zf(ra,function(){return Mn(),null})),o=(i.flags&15990)!==0,i.subtreeFlags&15990||o){o=ot.transition,ot.transition=null;var a=ee;ee=1;var s=X;X|=4,Uc.current=null,T0(e,i),bf(i,e),n0(fl),aa=!!gl,fl=gl=null,e.current=i,L0(i),lv(),X=s,ee=a,ot.transition=o}else e.current=i;if(No&&(No=!1,xi=e,Sa=r),o=e.pendingLanes,o===0&&(Ii=null),uv(i.stateNode),He(e,ge()),t!==null)for(n=e.onRecoverableError,i=0;i<t.length;i++)r=t[i],n(r.value,{componentStack:r.stack,digest:r.digest});if(wa)throw wa=!1,e=Ml,Ml=null,e;return Sa&1&&e.tag!==0&&Mn(),o=e.pendingLanes,o&1?e===Ol?Lr++:(Lr=0,Ol=e):Lr=0,Ui(),null}function Mn(){if(xi!==null){var e=og(Sa),t=ot.transition,i=ee;try{if(ot.transition=null,ee=16>e?16:e,xi===null)var n=!1;else{if(e=xi,xi=null,Sa=0,X&6)throw Error(P(331));var r=X;for(X|=4,U=e.current;U!==null;){var o=U,a=o.child;if(U.flags&16){var s=o.deletions;if(s!==null){for(var l=0;l<s.length;l++){var c=s[l];for(U=c;U!==null;){var u=U;switch(u.tag){case 0:case 11:case 15:Pr(8,u,o)}var p=u.child;if(p!==null)p.return=u,U=p;else for(;U!==null;){u=U;var g=u.sibling,d=u.return;if(vf(u),u===c){U=null;break}if(g!==null){g.return=d,U=g;break}U=d}}}var y=o.alternate;if(y!==null){var h=y.child;if(h!==null){y.child=null;do{var b=h.sibling;h.sibling=null,h=b}while(h!==null)}}U=o}}if(o.subtreeFlags&2064&&a!==null)a.return=o,U=a;else e:for(;U!==null;){if(o=U,o.flags&2048)switch(o.tag){case 0:case 11:case 15:Pr(9,o,o.return)}var m=o.sibling;if(m!==null){m.return=o.return,U=m;break e}U=o.return}}var f=e.current;for(U=f;U!==null;){a=U;var v=a.child;if(a.subtreeFlags&2064&&v!==null)v.return=a,U=v;else e:for(a=f;U!==null;){if(s=U,s.flags&2048)try{switch(s.tag){case 0:case 11:case 15:Fa(9,s)}}catch(S){pe(s,s.return,S)}if(s===a){U=null;break e}var w=s.sibling;if(w!==null){w.return=s.return,U=w;break e}U=s.return}}if(X=r,Ui(),Lt&&typeof Lt.onPostCommitFiberRoot=="function")try{Lt.onPostCommitFiberRoot(La,e)}catch{}n=!0}return n}finally{ee=i,ot.transition=t}}return!1}function Au(e,t,i){t=Kn(i,t),t=af(e,t,1),e=Ai(e,t,1),t=Oe(),e!==null&&(ao(e,1,t),He(e,t))}function pe(e,t,i){if(e.tag===3)Au(e,e,i);else for(;t!==null;){if(t.tag===3){Au(t,e,i);break}else if(t.tag===1){var n=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&(Ii===null||!Ii.has(n))){e=Kn(i,e),e=sf(t,e,1),t=Ai(t,e,1),e=Oe(),t!==null&&(ao(t,1,e),He(t,e));break}}t=t.return}}function B0(e,t,i){var n=e.pingCache;n!==null&&n.delete(t),t=Oe(),e.pingedLanes|=e.suspendedLanes&i,we===e&&(Ce&i)===i&&(xe===4||xe===3&&(Ce&130023424)===Ce&&500>ge()-Bc?Xi(e,0):jc|=i),He(e,t)}function Ef(e,t){t===0&&(e.mode&1?(t=Co,Co<<=1,!(Co&130023424)&&(Co=4194304)):t=1);var i=Oe();e=qt(e,t),e!==null&&(ao(e,t,i),He(e,i))}function D0(e){var t=e.memoizedState,i=0;t!==null&&(i=t.retryLane),Ef(e,i)}function F0(e,t){var i=0;switch(e.tag){case 13:var n=e.stateNode,r=e.memoizedState;r!==null&&(i=r.retryLane);break;case 19:n=e.stateNode;break;default:throw Error(P(314))}n!==null&&n.delete(t),Ef(e,i)}var Rf;Rf=function(e,t,i){if(e!==null)if(e.memoizedProps!==t.pendingProps||_e.current)Fe=!0;else{if(!(e.lanes&i)&&!(t.flags&128))return Fe=!1,E0(e,t,i);Fe=!!(e.flags&131072)}else Fe=!1,se&&t.flags&1048576&&Tg(t,ga,t.index);switch(t.lanes=0,t.tag){case 2:var n=t.type;Qo(e,t),e=t.pendingProps;var r=Wn(t,Te.current);Nn(t,i),r=Tc(null,t,n,e,r,i);var o=Lc();return t.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ge(n)?(o=!0,ua(t)):o=!1,t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,kc(t),r.updater=Da,t.stateNode=r,r._reactInternals=t,Cl(t,n,e,i),t=kl(null,t,n,!0,o,i)):(t.tag=0,se&&o&&yc(t),Ne(null,t,r,i),t=t.child),t;case 16:n=t.elementType;e:{switch(Qo(e,t),e=t.pendingProps,r=n._init,n=r(n._payload),t.type=n,r=t.tag=G0(n),e=gt(n,e),r){case 0:t=Il(null,t,n,e,i);break e;case 1:t=fu(null,t,n,e,i);break e;case 11:t=pu(null,t,n,e,i);break e;case 14:t=gu(null,t,n,gt(n.type,e),i);break e}throw Error(P(306,n,""))}return t;case 0:return n=t.type,r=t.pendingProps,r=t.elementType===n?r:gt(n,r),Il(e,t,n,r,i);case 1:return n=t.type,r=t.pendingProps,r=t.elementType===n?r:gt(n,r),fu(e,t,n,r,i);case 3:e:{if(uf(t),e===null)throw Error(P(387));n=t.pendingProps,o=t.memoizedState,r=o.element,jg(e,t),ha(t,n,null,i);var a=t.memoizedState;if(n=a.element,o.isDehydrated)if(o={element:n,isDehydrated:!1,cache:a.cache,pendingSuspenseBoundaries:a.pendingSuspenseBoundaries,transitions:a.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){r=Kn(Error(P(423)),t),t=mu(e,t,n,i,r);break e}else if(n!==r){r=Kn(Error(P(424)),t),t=mu(e,t,n,i,r);break e}else for(qe=Ci(t.stateNode.containerInfo.firstChild),Qe=t,se=!0,xt=null,i=Og(t,null,n,i),t.child=i;i;)i.flags=i.flags&-3|4096,i=i.sibling;else{if(qn(),n===r){t=Qt(e,t,i);break e}Ne(e,t,n,i)}t=t.child}return t;case 5:return Bg(t),e===null&&bl(t),n=t.type,r=t.pendingProps,o=e!==null?e.memoizedProps:null,a=r.children,ml(n,r)?a=null:o!==null&&ml(n,o)&&(t.flags|=32),df(e,t),Ne(e,t,a,i),t.child;case 6:return e===null&&bl(t),null;case 13:return pf(e,t,i);case 4:return Ec(t,t.stateNode.containerInfo),n=t.pendingProps,e===null?t.child=Qn(t,null,n,i):Ne(e,t,n,i),t.child;case 11:return n=t.type,r=t.pendingProps,r=t.elementType===n?r:gt(n,r),pu(e,t,n,r,i);case 7:return Ne(e,t,t.pendingProps,i),t.child;case 8:return Ne(e,t,t.pendingProps.children,i),t.child;case 12:return Ne(e,t,t.pendingProps.children,i),t.child;case 10:e:{if(n=t.type._context,r=t.pendingProps,o=t.memoizedProps,a=r.value,ie(fa,n._currentValue),n._currentValue=a,o!==null)if(wt(o.value,a)){if(o.children===r.children&&!_e.current){t=Qt(e,t,i);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var s=o.dependencies;if(s!==null){a=o.child;for(var l=s.firstContext;l!==null;){if(l.context===n){if(o.tag===1){l=$t(-1,i&-i),l.tag=2;var c=o.updateQueue;if(c!==null){c=c.shared;var u=c.pending;u===null?l.next=l:(l.next=u.next,u.next=l),c.pending=l}}o.lanes|=i,l=o.alternate,l!==null&&(l.lanes|=i),wl(o.return,i,t),s.lanes|=i;break}l=l.next}}else if(o.tag===10)a=o.type===t.type?null:o.child;else if(o.tag===18){if(a=o.return,a===null)throw Error(P(341));a.lanes|=i,s=a.alternate,s!==null&&(s.lanes|=i),wl(a,i,t),a=o.sibling}else a=o.child;if(a!==null)a.return=o;else for(a=o;a!==null;){if(a===t){a=null;break}if(o=a.sibling,o!==null){o.return=a.return,a=o;break}a=a.return}o=a}Ne(e,t,r.children,i),t=t.child}return t;case 9:return r=t.type,n=t.pendingProps.children,Nn(t,i),r=at(r),n=n(r),t.flags|=1,Ne(e,t,n,i),t.child;case 14:return n=t.type,r=gt(n,t.pendingProps),r=gt(n.type,r),gu(e,t,n,r,i);case 15:return lf(e,t,t.type,t.pendingProps,i);case 17:return n=t.type,r=t.pendingProps,r=t.elementType===n?r:gt(n,r),Qo(e,t),t.tag=1,Ge(n)?(e=!0,ua(t)):e=!1,Nn(t,i),of(t,n,r),Cl(t,n,r,i),kl(null,t,n,!0,e,i);case 19:return gf(e,t,i);case 22:return cf(e,t,i)}throw Error(P(156,t.tag))};function zf(e,t){return tg(e,t)}function _0(e,t,i,n){this.tag=e,this.key=i,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function rt(e,t,i,n){return new _0(e,t,i,n)}function Gc(e){return e=e.prototype,!(!e||!e.isReactComponent)}function G0(e){if(typeof e=="function")return Gc(e)?1:0;if(e!=null){if(e=e.$$typeof,e===sc)return 11;if(e===lc)return 14}return 2}function Ei(e,t){var i=e.alternate;return i===null?(i=rt(e.tag,t,e.key,e.mode),i.elementType=e.elementType,i.type=e.type,i.stateNode=e.stateNode,i.alternate=e,e.alternate=i):(i.pendingProps=t,i.type=e.type,i.flags=0,i.subtreeFlags=0,i.deleti
vendor: 6,824 bytes, line 40
40ons=null),i.flags=e.flags&14680064,i.childLanes=e.childLanes,i.lanes=e.lanes,i.child=e.child,i.memoizedProps=e.memoizedProps,i.memoizedState=e.memoizedState,i.updateQueue=e.updateQueue,t=e.dependencies,i.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},i.sibling=e.sibling,i.index=e.index,i.ref=e.ref,i}function Xo(e,t,i,n,r,o){var a=2;if(n=e,typeof e=="function")Gc(e)&&(a=1);else if(typeof e=="string")a=5;else e:switch(e){case xn:return Yi(i.children,r,o,t);case ac:a=8,r|=8;break;case qs:return e=rt(12,i,t,r|2),e.elementType=qs,e.lanes=o,e;case Qs:return e=rt(13,i,t,r),e.elementType=Qs,e.lanes=o,e;case Zs:return e=rt(19,i,t,r),e.elementType=Zs,e.lanes=o,e;case Bp:return Ga(i,r,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Up:a=10;break e;case jp:a=9;break e;case sc:a=11;break e;case lc:a=14;break e;case li:a=16,n=null;break e}throw Error(P(130,e==null?e:typeof e,""))}return t=rt(a,i,t,r),t.elementType=e,t.type=n,t.lanes=o,t}function Yi(e,t,i,n){return e=rt(7,e,n,t),e.lanes=i,e}function Ga(e,t,i,n){return e=rt(22,e,n,t),e.elementType=Bp,e.lanes=i,e.stateNode={isHidden:!1},e}function Us(e,t,i){return e=rt(6,e,null,t),e.lanes=i,e}function js(e,t,i){return t=rt(4,e.children!==null?e.children:[],e.key,t),t.lanes=i,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function H0(e,t,i,n,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=vs(0),this.expirationTimes=vs(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=vs(0),this.identifierPrefix=n,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Hc(e,t,i,n,r,o,a,s,l){return e=new H0(e,t,i,s,l),t===1?(t=1,o===!0&&(t|=8)):t=0,o=rt(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:n,isDehydrated:i,cache:null,transitions:null,pendingSuspenseBoundaries:null},kc(o),e}function $0(e,t,i){var n=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:vn,key:n==null?null:""+n,children:e,containerInfo:t,implementation:i}}function Pf(e){if(!e)return zi;e=e._reactInternals;e:{if(ln(e)!==e||e.tag!==1)throw Error(P(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Ge(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(P(171))}if(e.tag===1){var i=e.type;if(Ge(i))return zg(e,i,t)}return t}function Tf(e,t,i,n,r,o,a,s,l){return e=Hc(i,n,!0,e,r,o,a,s,l),e.context=Pf(null),i=e.current,n=Oe(),r=ki(i),o=$t(n,r),o.callback=t??null,Ai(i,o,r),e.current.lanes=r,ao(e,r,n),He(e,n),e}function Ha(e,t,i,n){var r=t.current,o=Oe(),a=ki(r);return i=Pf(i),t.context===null?t.context=i:t.pendingContext=i,t=$t(o,a),t.payload={element:e},n=n===void 0?null:n,n!==null&&(t.callback=n),e=Ai(r,t,a),e!==null&&(bt(e,r,a,o),Vo(e,r,a)),a}function Aa(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function Iu(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var i=e.retryLane;e.retryLane=i!==0&&i<t?i:t}}function $c(e,t){Iu(e,t),(e=e.alternate)&&Iu(e,t)}function V0(){return null}var Lf=typeof reportError=="function"?reportError:function(e){console.error(e)};function Vc(e){this._internalRoot=e}$a.prototype.render=Vc.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(P(409));Ha(e,t,null,null)};$a.prototype.unmount=Vc.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;on(function(){Ha(null,e,null,null)}),t[Wt]=null}};function $a(e){this._internalRoot=e}$a.prototype.unstable_scheduleHydration=function(e){if(e){var t=lg();e={blockedOn:null,target:e,priority:t};for(var i=0;i<di.length&&t!==0&&t<di[i].priority;i++);di.splice(i,0,e),i===0&&dg(e)}};function Wc(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Va(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function ku(){}function W0(e,t,i,n,r){if(r){if(typeof n=="function"){var o=n;n=function(){var c=Aa(a);o.call(c)}}var a=Tf(t,n,e,0,null,!1,!1,"",ku);return e._reactRootContainer=a,e[Wt]=a.current,Gr(e.nodeType===8?e.parentNode:e),on(),a}for(;r=e.lastChild;)e.removeChild(r);if(typeof n=="function"){var s=n;n=function(){var c=Aa(l);s.call(c)}}var l=Hc(e,0,!1,null,null,!1,!1,"",ku);return e._reactRootContainer=l,e[Wt]=l.current,Gr(e.nodeType===8?e.parentNode:e),on(function(){Ha(t,l,i,n)}),l}function Wa(e,t,i,n,r){var o=i._reactRootContainer;if(o){var a=o;if(typeof r=="function"){var s=r;r=function(){var l=Aa(a);s.call(l)}}Ha(t,a,e,r)}else a=W0(i,t,e,r,n);return Aa(a)}ag=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var i=Sr(t.pendingLanes);i!==0&&(uc(t,i|1),He(t,ge()),!(X&6)&&(Xn=ge()+500,Ui()))}break;case 13:on(function(){var n=qt(e,1);if(n!==null){var r=Oe();bt(n,e,1,r)}}),$c(e,1)}};pc=function(e){if(e.tag===13){var t=qt(e,134217728);if(t!==null){var i=Oe();bt(t,e,134217728,i)}$c(e,134217728)}};sg=function(e){if(e.tag===13){var t=ki(e),i=qt(e,t);if(i!==null){var n=Oe();bt(i,e,t,n)}$c(e,t)}};lg=function(){return ee};cg=function(e,t){var i=ee;try{return ee=e,t()}finally{ee=i}};ol=function(e,t,i){switch(t){case"input":if(Ys(e,i),t=i.name,i.type==="radio"&&t!=null){for(i=e;i.parentNode;)i=i.parentNode;for(i=i.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<i.length;t++){var n=i[t];if(n!==e&&n.form===e.form){var r=Ua(n);if(!r)throw Error(P(90));Fp(n),Ys(n,r)}}}break;case"textarea":Gp(e,i);break;case"select":t=i.value,t!=null&&zn(e,!!i.multiple,t,!1)}};Zp=Dc;Kp=on;var q0={usingClientEntryPoint:!1,Events:[lo,Sn,Ua,qp,Qp,Dc]},vr={findFiberByHostInstance:Gi,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},Q0={bundleType:vr.bundleType,version:vr.version,rendererPackageName:vr.rendererPackageName,rendererConfig:vr.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Xt.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=Jp(e),e===null?null:e.stateNode},findFiberByHostInstance:vr.findFiberByHostInstance||V0,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};
40if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Mo=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Mo.isDisabled&&Mo.supportsFiber)try{La=Mo.inject(Q0),Lt=Mo}catch{}}Xe.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=q0;Xe.createPortal=function(e,t){var i=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Wc(t))throw Error(P(200));return $0(e,t,null,i)};Xe.createRoot=function(e,t){if(!Wc(e))throw Error(P(299));var i=!1,n="",r=Lf;return t!=null&&(t.unstable_strictMode===!0&&(i=!0),t.identifierPrefix!==void 0&&(n=t.identifierPrefix),t.onRecoverableError!==void 0&&(r=t.onRecoverableError)),t=Hc(e,1,!1,null,null,i,!1,n,r),e[Wt]=t.current,Gr(e.nodeType===8?e.parentNode:e),new Vc(t)};Xe.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(P(188)):(e=Object.keys(e).join(","),Error(P(268,e)));return e=Jp(t),e=e===null?null:e.stateNode,e};Xe.flushSync=function(e){return on(e)};Xe.hydrate=function(e,t,i){if(!Va(t))throw Error(P(200));return Wa(null,e,t,!0,i)};Xe.hydrateRoot=function(e,t,i){if(!Wc(e))throw Error(P(405));var n=i!=null&&i.hydratedSources||null,r=!1,o="",a=Lf;if(i!=null&&(i.unstable_strictMode===!0&&(r=!0),i.identifierPrefix!==void 0&&(o=i.identifierPrefix),i.onRecoverableError!==void 0&&(a=i.onRecoverableError)),t=Tf(t,null,e,1,i??null,r,!1,o,a),e[Wt]=t.current,Gr(e),n)for(e=0;e<n.length;e++)i=n[e],r=i._getVersion,r=r(i._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[i,r]:t.mutableSourceEagerHydrationData.push(i,r);return new $a(t)};Xe.render=function(e,t,i){if(!Va(t))throw Error(P(200));return Wa(null,e,t,!1,i)};Xe.unmountComponentAtNode=function(e){if(!Va(e))throw Error(P(40));return e._reactRootContainer?(on(function(){Wa(null,null,e,!1,function(){e._reactRootContainer=null,e[Wt]=null})}),!0):!1};Xe.unstable_batchedUpdates=Dc;Xe.unstable_renderSubtreeIntoContainer=function(e,t,i,n){if(!Va(i))throw Error(P(200));if(e==null||e._reactInternals===void 0)throw Error(P(38));return Wa(e,t,i,!1,n)};Xe.version="18.3.1-next-f1338f8080-20240426";function Nf(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Nf)}catch(e){console.error(e)}}Nf(),Lp.exports=Xe;var uo=Lp.exports;const Mf=yp(uo);var Of,Eu=uo;Of=Eu.createRoot,Eu.hydrateRoot;const Z0=1,K0=1e6;let Bs=0;function X0(){return Bs=(Bs+1)%Number.MAX_SAFE_INTEGER,Bs.toString()}const Ds=new Map,Ru=e=>{if(Ds.has(e))return;const t=setTimeout(()=>{Ds.delete(e),Nr({type:"REMOVE_TOAST",toastId:e})},K0);Ds.set(e,t)},Y0=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,Z0)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(i=>i.id===t.toast.id?{...i,...t.toast}:i)};case"DISMISS_TOAST":{const{toastId:i}=t;return i?Ru(i):e.toasts.forEach(n=>{Ru(n.id)}),{...e,toasts:e.toasts.map(n=>n.id===i||i===void 0?{...n,open:!1}:n)}}case"REMOVE_TOAST":return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(i=>i.id!==t.toastId)}}},Yo=[];let Jo={toasts:[]};function Nr(e){Jo=Y0(Jo,e),Yo.forEach(t=>{t(Jo)})}function J0({...e}){const t=X0(),i=r=>Nr({type:"UPDATE_TOAST",toast:{...r,id:t}}),n=()=>Nr({type:"DISMISS_TOAST",toastId:t});return Nr({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:r=>{r||n()}}}),{id:t,dismiss:n,update:i}}function ex(){const[e,t]=x.useState(Jo);return x.useEffect(()=>(Yo.push(t),()=>{const i=Yo.indexOf(t);i>-1&&Yo.splice(i,1)}),[e]),{...e,toast:J0,dismiss:i=>Nr({type:"DISMISS_TOAST",toastId:i})}}function ve(e,t,{checkForDefaultPrevented:i=!0}={}){return function(r){if(e==null||e(r),i===!1||!r.defaultPrevented)return t==null?void 0:t(r)}}function zu(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Uf(...e){return t=>{let i=!1;const n=e.map(r=>{const o=zu(r,t);return!i&&typeof o=="function"&&(i=!0),o});if(i)return()=>{for(let r=0;r<n.length;r++){const o=n[r];typeof o=="function"?o():zu(e[r],null)}}}}function St(...e){return x.useCallback(Uf(...e),e)}function qa(e,t=[]){let i=[];function n(o,a){const s=x.createContext(a),l=i.length;i=[...i,a];const c=p=>{var m;const{scope:g,children:d,...y}=p,h=((m=g==null?void 0:g[e])==null?void 0:m[l])||s,b=x.useMemo(()=>y,Object.values(y));return I.jsx(h.Provider,{value:b,children:d})};c.displayName=o+"Provider";function u(p,g){var h;const d=((h=g==null?void 0:g[e])==null?void 0:h[l])||s,y=x.useContext(d);if(y)return y;if(a!==void 0)return a;throw new Error(`\`${p}\` must be used within \`${o}\``)}return[c,u]}const r=()=>{const o=i.map(a=>x.createContext(a));return function(s){const l=(s==null?void 0:s[e])||o;return x.useMemo(()=>({[`__scope${e}`]:{...s,[e]:l}}),[s,l])}};return r.scopeName=e,[n,tx(r,...t)]}function tx(...e){const t=e[0];if(e.length===1)return t;const i=()=>{const n=e.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(o){const a=n.reduce((s,{useScope:l,scopeName:c}
vendor: 10,617 bytes, line 40
40)=>{const p=l(o)[`__scope${c}`];return{...s,...p}},{});return x.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return i.scopeName=t.scopeName,i}function Bl(e){const t=ix(e),i=x.forwardRef((n,r)=>{const{children:o,...a}=n,s=x.Children.toArray(o),l=s.find(rx);if(l){const c=l.props.children,u=s.map(p=>p===l?x.Children.count(c)>1?x.Children.only(null):x.isValidElement(c)?c.props.children:null:p);return I.jsx(t,{...a,ref:r,children:x.isValidElement(c)?x.cloneElement(c,void 0,u):null})}return I.jsx(t,{...a,ref:r,children:o})});return i.displayName=`${e}.Slot`,i}function ix(e){const t=x.forwardRef((i,n)=>{const{children:r,...o}=i;if(x.isValidElement(r)){const a=ax(r),s=ox(o,r.props);return r.type!==x.Fragment&&(s.ref=n?Uf(n,a):a),x.cloneElement(r,s)}return x.Children.count(r)>1?x.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var jf=Symbol("radix.slottable");function nx(e){const t=({children:i})=>I.jsx(I.Fragment,{children:i});return t.displayName=`${e}.Slottable`,t.__radixId=jf,t}function rx(e){return x.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===jf}function ox(e,t){const i={...t};for(const n in t){const r=e[n],o=t[n];/^on[A-Z]/.test(n)?r&&o?i[n]=(...s)=>{const l=o(...s);return r(...s),l}:r&&(i[n]=r):n==="style"?i[n]={...r,...o}:n==="className"&&(i[n]=[r,o].filter(Boolean).join(" "))}return{...e,...i}}function ax(e){var n,r;let t=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,i=t&&"isReactWarning"in t&&t.isReactWarning;return i?e.ref:(t=(r=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:r.get,i=t&&"isReactWarning"in t&&t.isReactWarning,i?e.props.ref:e.props.ref||e.ref)}function sx(e){const t=e+"CollectionProvider",[i,n]=qa(t),[r,o]=i(t,{collectionRef:{current:null},itemMap:new Map}),a=h=>{const{scope:b,children:m}=h,f=T.useRef(null),v=T.useRef(new Map).current;return I.jsx(r,{scope:b,itemMap:v,collectionRef:f,children:m})};a.displayName=t;const s=e+"CollectionSlot",l=Bl(s),c=T.forwardRef((h,b)=>{const{scope:m,children:f}=h,v=o(s,m),w=St(b,v.collectionRef);return I.jsx(l,{ref:w,children:f})});c.displayName=s;const u=e+"CollectionItemSlot",p="data-radix-collection-item",g=Bl(u),d=T.forwardRef((h,b)=>{const{scope:m,children:f,...v}=h,w=T.useRef(null),S=St(b,w),C=o(u,m);return T.useEffect(()=>(C.itemMap.set(w,{ref:w,...v}),()=>void C.itemMap.delete(w))),I.jsx(g,{[p]:"",ref:S,children:f})});d.displayName=u;function y(h){const b=o(e+"CollectionConsumer",h);return T.useCallback(()=>{const f=b.collectionRef.current;if(!f)return[];const v=Array.from(f.querySelectorAll(`[${p}]`));return Array.from(b.itemMap.values()).sort((C,A)=>v.indexOf(C.ref.current)-v.indexOf(A.ref.current))},[b.collectionRef,b.itemMap])}return[{Provider:a,Slot:c,ItemSlot:d},y,n]}var lx=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],$e=lx.reduce((e,t)=>{const i=Bl(`Primitive.${t}`),n=x.forwardRef((r,o)=>{const{asChild:a,...s}=r,l=a?i:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),I.jsx(l,{...s,ref:o})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function Bf(e,t){e&&uo.flushSync(()=>e.dispatchEvent(t))}function Pi(e){const t=x.useRef(e);return x.useEffect(()=>{t.current=e}),x.useMemo(()=>(...i)=>{var n;return(n=t.current)==null?void 0:n.call(t,...i)},[])}function cx(e,t=globalThis==null?void 0:globalThis.document){const i=Pi(e);x.useEffect(()=>{const n=r=>{r.key==="Escape"&&i(r)};return t.addEventListener("keydown",n,{capture:!0}),()=>t.removeEventListener("keydown",n,{capture:!0})},[i,t])}var dx="DismissableLayer",Dl="dismissableLayer.update",ux="dismissableLayer.pointerDownOutside",px="dismissableLayer.focusOutside",Pu,Df=x.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),qc=x.forwardRef((e,t)=>{const{disableOutsidePointerEvents:i=!1,onEscapeKeyDown:n,onPointerDownOutside:r,onFocusOutside:o,onInteractOutside:a,onDismiss:s,...l}=e,c=x.useContext(Df),[u,p]=x.useState(null),g=(u==null?void 0:u.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,d]=x.useState({}),y=St(t,A=>p(A)),h=Array.from(c.layers),[b]=[...c.layersWithOutsidePointerEventsDisabled].slice(-1),m=h.indexOf(b),f=u?h.indexOf(u):-1,v=c.layersWithOutsidePointerEventsDisabled.size>0,w=f>=m,S=fx(A=>{const z=A.target,N=[...c.branches].some(L=>L.contains(z));!w||N||(r==null||r(A),a==null||a(A),A.defaultPrevented||s==null||s())},g),C=mx(A=>{const z=A.target;[...c.branches].some(L=>L.contains(z))||(o==null||o(A),a==null||a(A),A.defaultPrevented||s==null||s())},g);return cx(A=>{f===c.layers.size-1&&(n==null||n(A),!A.defaultPrevented&&s&&(A.preventDefault(),s()))},g),x.useEffect(()=>{if(u)return i&&(c.layersWithOutsidePointerEventsDisabled.size===0&&(Pu=g.body.style.pointerEvents,g.body.style.pointerEvents="none"),c.layersWithOutsidePointerEventsDisabled.add(u)),c.layers.add(u),Tu(),()=>{i&&c.layersWithOutsidePointerEventsDisabled.size===1&&(g.body.style.pointerEvents=Pu)}},[u,g,i,c]),x.useEffect(()=>()=>{u&&(c.layers.delete(u),c.layersWithOutsidePointerEventsDisabled.delete(u),Tu())},[u,c]),x.useEffect(()=>{const A=()=>d({});return document.addEventListener(Dl,A),()=>document.removeEventListener(Dl,A)},[]),I.jsx($e.div,{...l,ref:y,style:{pointerEvents:v?w?"auto":"none":void 0,...e.style},onFocusCapture:ve(e.onFocusCapture,C.onFocusCapture),onBlurCapture:ve(e.onBlurCapture,C.onBlurCapture),onPointerDownCapture:ve(e.onPointerDownCapture,S.onPointerDownCapture)})});qc.displayName=dx;var gx="DismissableLayerBranch",Ff=x.forwardRef((e,t)=>{const i=x.useContext(Df),n=x.useRef(null),r=St(t,n);return x.useEffect(()=>{const o=n.current;if(o)return i.branches.add(o),()=>{i.branches.delete(o)}},[i.branches]),I.jsx($e.div,{...e,ref:r})});Ff.displayName=gx;function fx(e,t=globalThis==null?void 0:globalThis.document){const i=Pi(e),n=x.useRef(!1),r=x.useRef(()=>{});return x.useEffect(()=>{const o=s=>{if(s.target&&!n.current){let l=function(){_f(ux,i,c,{discrete:!0})};const c={originalEvent:s};s.pointerType==="touch"?(t.removeEventListener("click",r.current),r.current=l,t.addEventListener("click",r.current,{once:!0})):l()}else t.removeEventListener("click",r.current);n.current=!1},a=window.setTimeout(()=>{t.addEventListener("pointerdown",o)},0);return()=>{window.clearTimeout(a),t.removeEventListener("pointerdown",o),t.removeEventListener("click",r.current)}},[t,i]),{onPointerDownCapture:()=>n.current=!0}}function mx(e,t=globalThis==null?void 0:globalThis.document){const i=Pi(e),n=x.useRef(!1);return x.useEffect(()=>{const r=o=>{o.target&&!n.current&&_f(px,i,{originalEvent:o},{discrete:!1})};return t.addEventListener("focusin",r),()=>t.removeEventListener("focusin",r)},[t,i]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}function Tu(){const e=new CustomEvent(Dl);document.dispatchEvent(e)}function _f(e,t,i,{discrete:n}){const r=i.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:i});t&&r.addEventListener(e,t,{once:!0}),n?Bf(r,o):r.dispatchEvent(o)}var hx=qc,vx=Ff,Ti=globalThis!=null&&globalThis.document?x.useLayoutEffect:()=>{},xx="Portal",Gf=x.forwardRef((e,t)=>{var s;const{container:i,...n}=e,[r,o]=x.useState(!1);Ti(()=>o(!0),[]);const a=i||r&&((s=globalThis==null?void 0:globalThis.document)==null?void 0:s.body);return a?Mf.createPortal(I.jsx($e.div,{...n,ref:t}),a):null});Gf.displayName=xx;function yx(e,t){return x.useReducer((i,n)=>t[i][n]??i,e)}var Qc=e=>{const{present:t,children:i}=e,n=bx(t),r=typeof i=="function"?i({present:n.isPresent}):x.Children.only(i),o=St(n.ref,wx(r));return typeof i=="function"||n.isPresent?x.cloneElement(r,{ref:o}):null};Qc.displayName="Presence";function bx(e){const[t,i]=x.useState(),n=x.useRef(null),r=x.useRef(e),o=x.useRef("none"),a=e?"mounted":"unmounted",[s,l]=yx(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return x.useEffect(()=>{const c=Oo(n.current);o.current=s==="mounted"?c:"none"},[s]),Ti(()=>{const c=n.current,u=r.current;if(u!==e){const g=o.current,d=Oo(c);e?l("MOUNT"):d==="none"||(c==null?void 0:c.display)==="none"?l("UNMOUNT"):l(u&&g!==d?"ANIMATION_OUT":"UNMOUNT"),r.current=e}},[e,l]),Ti(()=>{if(t){let c;const u=t.ownerDocument.defaultView??window,p=d=>{const h=Oo(n.current).includes(d.animationName);if(d.target===t&&h&&(l("ANIMATION_END"),!r.current)){const b=t.style.animationFillMode;t.style.animationFillMode="forwards",c=u.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=b)})}},g=d=>{d.target===t&&(o.current=Oo(n.current))};return t.addEventListener("animationstart",g),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{u.clearTimeout(c),t.removeEventListener("animationstart",g),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else l("ANIMATION_END")},[t,l]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:x.useCallback(c=>{n.current=c?getComputedStyle(c):null,i(c)},[])}}function Oo(e){return(e==null?void 0:e.animationName)||"none"}function wx(e){var n,r;let t=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,i=t&&"isReactWarning"in t&&t.isReactWarning;return i?e.ref:(t=(r=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:r.get,i=t&&"isReactWarning"in t&&t.isReactWarning,i?e.props.ref:e.props.ref||e.ref)}var Sx=Pp[" useInsertionEffect ".trim().toString()]||Ti;function Cx({prop:e,defaultProp:t,onChange:i=()=>{},caller:n}){const[r,o,a]=Ax({defaultProp:t,onChange:i}),s=e!==void 0,l=s?e:r;{const u=x.useRef(e!==void 0);x.useEffect(()=>{const p=u.current;p!==s&&console.warn(`${n} is changing from ${p?"controlled":"uncontrolled"} to ${s?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),u.current=s},[s,n])}const c=x.useCallback(u=>{var p;if(s){const g=Ix(u)?u(e):u;g!==e&&((p=a.current)==null||p.call(a,g))}else o(u)},[s,e,o,a]);return[l,c]}function Ax({defaultProp:e,onChange:t}){const[i,n]=x.useState(e),r=x.useRef(i),o=x.useRef(t);return Sx(()=>{o.current=t},[t]),x.useEffect(()=>{var a;r.current!==i&&((a=o.current)==null||a.call(o,i),r.current=i)},[i,r]),[i,n,o]}function Ix(e){return typeof e=="function"}var kx=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),Ex="VisuallyHidden",Qa=x.forwardRef((e,t)=>
40I.jsx($e.span,{...e,ref:t,style:{...kx,...e.style}}));Qa.displayName=Ex;var Rx=Qa,Zc="ToastProvider",[Kc,zx,Px]=sx("Toast"),[Hf,T2]=qa("Toast",[Px]),[Tx,Za]=Hf(Zc),$f=e=>{const{__scopeToast:t,label:i="Notification",duration:n=5e3,swipeDirection:r="right",swipeThreshold:o=50,children:a}=e,[s,l]=x.useState(null),[c,u]=x.useState(0),p=x.useRef(!1),g=x.useRef(!1);return i.trim()||console.error(`Invalid prop \`label\` supplied to \`${Zc}\`. Expected non-empty \`string\`.`),I.jsx(Kc.Provider,{scope:t,children:I.jsx(Tx,{scope:t,label:i,duration:n,swipeDirection:r,swipeThreshold:o,toastCount:c,viewport:s,onViewportChange:l,onToastAdd:x.useCallback(()=>u(d=>d+1),[]),onToastRemove:x.useCallback(()=>u(d=>d-1),[]),isFocusedToastEscapeKeyDownRef:p,isClosePausedRef:g,children:a})})};$f.displayName=Zc;var Vf="ToastViewport",Lx=["F8"],Fl="toast.viewportPause",_l="toast.viewportResume",Wf=x.forwardRef((e,t)=>{const{__scopeToast:i,hotkey:n=Lx,label:r="Notifications ({hotkey})",...o}=e,a=Za(Vf,i),s=zx(i),l=x.useRef(null),c=x.useRef(null),u=x.useRef(null),p=x.useRef(null),g=St(t,p,a.onViewportChange),d=n.join("+").replace(/Key/g,"").replace(/Digit/g,""),y=a.toastCount>0;x.useEffect(()=>{const b=m=>{var v;n.length!==0&&n.every(w=>m[w]||m.code===w)&&((v=p.current)==null||v.focus())};return document.addEventListener("keydown",b),()=>document.removeEventListener("keydown",b)},[n]),x.useEffect(()=>{const b=l.current,m=p.current;if(y&&b&&m){const f=()=>{if(!a.isClosePausedRef.current){const C=new CustomEvent(Fl);m.dispatchEvent(C),a.isClosePausedRef.current=!0}},v=()=>{if(a.isClosePausedRef.current){const C=new CustomEvent(_l);m.dispatchEvent(C),a.isClosePausedRef.current=!1}},w=C=>{!b.contains(C.relatedTarget)&&v()},S=()=>{b.contains(document.activeElement)||v()};return b.addEventListener("focusin",f),b.addEventListener("focusout",w),b.addEventListener("pointermove",f),b.addEventListener("pointerleave",S),window.addEventListener("blur",f),window.addEventListener("focus",v),()=>{b.removeEventListener("focusin",f),b.removeEventListener("focusout",w),b.removeEventListener("pointermove",f),b.removeEventListener("pointerleave",S),window.removeEventListener("blur",f),window.removeEventListener("focus",v)}}},[y,a.isClosePausedRef]);const h=x.useCallback(({tabbingDirection:b})=>{const f=s().map(v=>{const w=v.ref.current,S=[w,...Vx(w)];return b==="forwards"?S:S.reverse()});return(b==="forwards"?f.reverse():f).flat()},[s]);return x.useEffect(()=>{const b=p.current;if(b){const m=f=>{var S,C,A;const v=f.altKey||f.ctrlKey||f.metaKey;if(f.key==="Tab"&&!v){const z=document.activeElement,N=f.shiftKey;if(f.target===b&&N){(S=c.current)==null||S.focus();return}const j=h({tabbingDirection:N?"backwards":"forwards"}),W=j.findIndex(M=>M===z);Fs(j.slice(W+1))?f.preventDefault():N?(C=c.current)==null||C.focus():(A=u.current)==null||A.focus()}};return b.addEventListener("keydown",m),()=>b.removeEventListener("keydown",m)}},[s,h]),I.jsxs(vx,{ref:l,role:"region","aria-label":r.replace("{hotkey}",d),tabIndex:-1,style:{pointerEvents:y?void 0:"none"},children:[y&&I.jsx(Gl,{ref:c,onFocusFromOutsideViewport:()=>{const b=h({tabbingDirection:"forwards"});Fs(b)}}),I.jsx(Kc.Slot,{scope:i,children:I.jsx($e.ol,{tabIndex:-1,...o,ref:g})}),y&&I.jsx(Gl,{ref:u,onFocusFromOutsideViewport:()=>{const b=h({tabbingDirection:"backwards"});Fs(b)}})]})});Wf.displayName=Vf;var qf="ToastFocusProxy",Gl=x.forwardRef((e,t)=>{const{__scopeToast:i,onFocusFromOutsideViewport:n,...r}=e,o=Za(qf,i);return I.jsx(Qa,{"aria-hidden":!0,tabIndex:0,...r,ref:t,style:{position:"fixed"},onFocus:a=>{var c;const s=a.relatedTarget;!((c=o.viewport)!=null&&c.contains(s))&&n()}})});Gl.displayName=qf;var po="Toast",Nx="toast.swipeStart",Mx="toast.swipeMove",Ox="toast.swipeCancel",Ux="toast.swipeEnd",Qf=x.forwardRef((e,t)=>{const{forceMount:i,open:n,defaultOpen:r,onOpenChange:o,...a}=e,[s,l]=Cx({prop:n,defaultProp:r??!0,onChange:o,caller:po});return I.jsx(Qc,{present:i||s,children:I.jsx(Dx,{open:s,...a,ref:t,onClose:()=>l(!1),onPause:Pi(e.onPause),onResume:Pi(e.onResume),onSwipeStart:ve(e.onSwipeStart,c=>{c.currentTarget.setAttribute("data-swipe","start")}),onSwipeMove:ve(e.onSwipeMove,c=>{const{x:u,y:p}=c.detail.delta;c.currentTarget.setAttribute("data-swipe","move"),c.currentTarget.style.setProperty("--radix-toast-swipe-move-x",`${u}px`),c.currentTarget.style.setProperty("--radix-toast-swipe-move-y",`${p}px`)}),onSwipeCancel:ve(e.onSwipeCancel,c=>{c.currentTarget.setAttribute("data-swipe","cancel"),c.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),c.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),c.currentTarget.style.removeProperty("--radix-toast-swipe-end-x"),c.currentTarget.style.removeProperty("--radix-toast-swipe-end-y")}),onSwipeEnd:ve(e.onSwipeEnd,c=>{const{x:u,y:p}=c.detail.delta;c.currentTarget.setAttribute("data-swipe","end"),c.currentTarget.style.removeProperty("--radix-toast-swipe-move-x"),c.currentTarget.style.removeProperty("--radix-toast-swipe-move-y"),c.currentTarget.style.setProperty("--radix-toast-swipe-end-x",`${u}px`),c.currentTarget.style.setProperty("--radix-toast-swipe-end-y",`${p}px`),l(!1)})})})});Qf.displayName=po;var[jx,Bx]=Hf(po,{onClose(){}}),Dx=x.forwardRef((e,t)=>
40{const{__scopeToast:i,type:n="foreground",duration:r,open:o,onClose:a,onEscapeKeyDown:s,onPause:l,onResume:c,onSwipeStart:u,onSwipeMove:p,onSwipeCancel:g,onSwipeEnd:d,...y}=e,h=Za(po,i),[b,m]=x.useState(null),f=St(t,M=>m(M)),v=x.useRef(null),w=x.useRef(null),S=r||h.duration,C=x.useRef(0),A=x.useRef(S),z=x.useRef(0),{onToastAdd:N,onToastRemove:L}=h,D=Pi(()=>{var Z;(b==null?void 0:b.contains(document.activeElement))&&((Z=h.viewport)==null||Z.focus()),a()}),j=x.useCallback(M=>{!M||M===1/0||(window.clearTimeout(z.current),C.current=new Date().getTime(),z.current=window.setTimeout(D,M))},[D]);x.useEffect(()=>{const M=h.viewport;if(M){const Z=()=>{j(A.current),c==null||c()},F=()=>{const H=new Date().getTime()-C.current;A.current=A.current-H,window.clearTimeout(z.current),l==null||l()};return M.addEventListener(Fl,F),M.addEventListener(_l,Z),()=>{M.removeEventListener(Fl,F),M.removeEventListener(_l,Z)}}},[h.viewport,S,l,c,j]),x.useEffect(()=>{o&&!h.isClosePausedRef.current&&j(S)},[o,S,h.isClosePausedRef,j]),x.useEffect(()=>(N(),()=>L()),[N,L]);const W=x.useMemo(()=>b?tm(b):null,[b]);return h.viewport?I.jsxs(I.Fragment,{children:[W&&I.jsx(Fx,{__scopeToast:i,role:"status","aria-live":n==="foreground"?"assertive":"polite","aria-atomic":!0,children:W}),I.jsx(jx,{scope:i,onClose:D,children:uo.createPortal(I.jsx(Kc.ItemSlot,{scope:i,children:I.jsx(hx,{asChild:!0,onEscapeKeyDown:ve(s,()=>{h.isFocusedToastEscapeKeyDownRef.current||D(),h.isFocusedToastEscapeKeyDownRef.current=!1}),children:I.jsx($e.li,{role:"status","aria-live":"off","aria-atomic":!0,tabIndex:0,"data-state":o?"open":"closed","data-swipe-direction":h.swipeDirection,...y,ref:f,style:{userSelect:"none",touchAction:"none",...e.style},onKeyDown:ve(e.onKeyDown,M=>{M.key==="Escape"&&(s==null||s(M.nativeEvent),M.nativeEvent.defaultPrevented||(h.isFocusedToastEscapeKeyDownRef.current=!0,D()))}),onPointerDown:ve(e.onPointerDown,M=>{M.button===0&&(v.current={x:M.clientX,y:M.clientY})}),onPointerMove:ve(e.onPointerMove,M=>{if(!v.current)return;const Z=M.clientX-v.current.x,F=M.clientY-v.current.y,H=!!w.current,E=["left","right"].includes(h.swipeDirection),R=["left","up"].includes(h.swipeDirection)?Math.min:Math.max,O=E?R(0,Z):0,$=E?0:R(0,F),B=M.pointerType==="touch"?10:2,q={x:O,y:$},K={originalEvent:M,delta:q};H?(w.current=q,Uo(Mx,p,K,{discrete:!1})):Lu(q,h.swipeDirection,B)?(w.current=q,Uo(Nx,u,K,{discrete:!1}),M.target.setPointerCapture(M.pointerId)):(Math.abs(Z)>B||Math.abs(F)>B)&&(v.current=null)}),onPointerUp:ve(e.onPointerUp,M=>{const Z=w.current,F=M.target;if(F.hasPointerCapture(M.pointerId)&&F.releasePointerCapture(M.pointerId),w.current=null,v.current=null,Z){const H=M.currentTarget,E={originalEvent:M,delta:Z};Lu(Z,h.swipeDirection,h.swipeThreshold)?Uo(Ux,d,E,{discrete:!0}):Uo(Ox,g,E,{discrete:!0}),H.addEventListener("click",R=>R.preventDefault(),{once:!0})}})})})}),h.viewport)})]}):null}),Fx=e=>{const{__scopeToast:t,children:i,...n}=e,r=Za(po,t),[o,a]=x.useState(!1),[s,l]=x.useState(!1);return Hx(()=>a(!0)),x.useEffect(()=>{const c=window.setTimeout(()=>l(!0),1e3);return()=>window.clearTimeout(c)},[]),s?null:I.jsx(Gf,{asChild:!0,children:I.jsx(Qa,{...n,children:o&&I.jsxs(I.Fragment,{children:[r.label," ",i]})})})},_x="ToastTitle",Zf=x.forwardRef((e,t)=>{const{__scopeToast:i,...n}=e;return I.jsx($e.div,{...n,ref:t})});Zf.displayName=_x;var Gx="ToastDescription",Kf=x.forwardRef((e,t)=>{const{__scopeToast:i,...n}=e;return I.jsx($e.div,{...n,ref:t})});Kf.displayName=Gx;var Xf="ToastAction",Yf=x.forwardRef((e,t)=>{const{altText:i,...n}=e;return i.trim()?I.jsx(em,{altText:i,asChild:!0,children:I.jsx(Xc,{...n,ref:t})}):(console.error(`Invalid prop \`altText\` supplied to \`${Xf}\`. Expected non-empty \`string\`.`),null)});Yf.displayName=Xf;var Jf="ToastClose",Xc=x.forwardRef((e,t)=>{const{__scopeToast:i,...n}=e,r=Bx(Jf,i);return I.jsx(em,{asChild:!0,children:I.jsx($e.button,{type:"button",...n,ref:t,onClick:ve(e.onClick,r.onClose)})})});Xc.displayName=Jf;var em=x.forwardRef((e,t)=>{const{__scopeToast:i,altText:n,...r}=e;return I.jsx($e.div,{"data-radix-toast-announce-exclude":"","data-radix-toast-announce-alt":n||void 0,...r,ref:t})});function tm(e){const t=[];
vendor: 4,205 bytes, lines 40-65
40return Array.from(e.childNodes).forEach(n=>{if(n.nodeType===n.TEXT_NODE&&n.textContent&&t.push(n.textContent),$x(n)){const r=n.ariaHidden||n.hidden||n.style.display==="none",o=n.dataset.radixToastAnnounceExclude==="";if(!r)if(o){const a=n.dataset.radixToastAnnounceAlt;a&&t.push(a)}else t.push(...tm(n))}}),t}function Uo(e,t,i,{discrete:n}){const r=i.originalEvent.currentTarget,o=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:i});t&&r.addEventListener(e,t,{once:!0}),n?Bf(r,o):r.dispatchEvent(o)}var Lu=(e,t,i=0)=>{const n=Math.abs(e.x),r=Math.abs(e.y),o=n>r;return t==="left"||t==="right"?o&&n>i:!o&&r>i};function Hx(e=()=>{}){const t=Pi(e);Ti(()=>{let i=0,n=0;return i=window.requestAnimationFrame(()=>n=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(i),window.cancelAnimationFrame(n)}},[t])}function $x(e){return e.nodeType===e.ELEMENT_NODE}function Vx(e){const t=[],i=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:n=>{const r=n.tagName==="INPUT"&&n.type==="hidden";return n.disabled||n.hidden||r?NodeFilter.FILTER_SKIP:n.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;i.nextNode();)t.push(i.currentNode);return t}function Fs(e){const t=document.activeElement;return e.some(i=>i===t?!0:(i.focus(),document.activeElement!==t))}var Wx=$f,im=Wf,nm=Qf,rm=Zf,om=Kf,am=Yf,sm=Xc;function lm(e){var t,i,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var r=e.length;for(t=0;t<r;t++)e[t]&&(i=lm(e[t]))&&(n&&(n+=" "),n+=i)}else for(i in e)e[i]&&(n&&(n+=" "),n+=i);return n}function cm(){for(var e,t,i=0,n="",r=arguments.length;i<r;i++)(e=arguments[i])&&(t=lm(e))&&(n&&(n+=" "),n+=t);return n}const Nu=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Mu=cm,qx=(e,t)=>i=>{var n;if((t==null?void 0:t.variants)==null)return Mu(e,i==null?void 0:i.class,i==null?void 0:i.className);const{variants:r,defaultVariants:o}=t,a=Object.keys(r).map(c=>{const u=i==null?void 0:i[c],p=o==null?void 0:o[c];if(u===null)return null;const g=Nu(u)||Nu(p);return r[c][g]}),s=i&&Object.entries(i).reduce((c,u)=>{let[p,g]=u;return g===void 0||(c[p]=g),c},{}),l=t==null||(n=t.compoundVariants)===null||n===void 0?void 0:n.reduce((c,u)=>{let{class:p,className:g,...d}=u;return Object.entries(d).every(y=>{let[h,b]=y;return Array.isArray(b)?b.includes({...o,...s}[h]):{...o,...s}[h]===b})?[...c,p,g]:c},[]);return Mu(e,a,l,i==null?void 0:i.class,i==null?void 0:i.className)};/**
41 * @license lucide-react v0.462.0 - ISC
42 *
43 * This source code is licensed under the ISC license.
44 * See the LICENSE file in the root directory of this source tree.
45 */const Qx=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),dm=(...e)=>e.filter((t,i,n)=>!!t&&t.trim()!==""&&n.indexOf(t)===i).join(" ").trim();/**
46 * @license lucide-react v0.462.0 - ISC
47 *
48 * This source code is licensed under the ISC license.
49 * See the LICENSE file in the root directory of this source tree.
50 */var Zx={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/**
51 * @license lucide-react v0.462.0 - ISC
52 *
53 * This source code is licensed under the ISC license.
54 * See the LICENSE file in the root directory of this source tree.
55 */const Kx=x.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:i=2,absoluteStrokeWidth:n,className:r="",children:o,iconNode:a,...s},l)=>x.createElement("svg",{ref:l,...Zx,width:t,height:t,stroke:e,strokeWidth:n?Number(i)*24/Number(t):i,className:dm("lucide",r),...s},[...a.map(([c,u])=>x.createElement(c,u)),...Array.isArray(o)?o:[o]]));/**
56 * @license lucide-react v0.462.0 - ISC
57 *
58 * This source code is licensed under the ISC license.
59 * See the LICENSE file in the root directory of this source tree.
60 */const Xx=(e,t)=>{const i=x.forwardRef(({className:n,...r},o)=>x.createElement(Kx,{ref:o,iconNode:t,className:dm(`lucide-${Qx(e)}`,n),...r}));return i.displayName=`${e}`,i};/**
61 * @license lucide-react v0.462.0 - ISC
62 *
63 * This source code is licensed under the ISC license.
64 * See the LICENSE file in the root directory of this source tree.
65 */const Yx=Xx("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}
vendor: 12,223 bytes, line 65
65],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),Yc="-",Jx=e=>{const t=ty(e),{conflictingClassGroups:i,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:a=>{const s=a.split(Yc);return s[0]===""&&s.length!==1&&s.shift(),um(s,t)||ey(a)},getConflictingClassGroupIds:(a,s)=>{const l=i[a]||[];return s&&n[a]?[...l,...n[a]]:l}}},um=(e,t)=>{var a;if(e.length===0)return t.classGroupId;const i=e[0],n=t.nextPart.get(i),r=n?um(e.slice(1),n):void 0;if(r)return r;if(t.validators.length===0)return;const o=e.join(Yc);return(a=t.validators.find(({validator:s})=>s(o)))==null?void 0:a.classGroupId},Ou=/^\[(.+)\]$/,ey=e=>{if(Ou.test(e)){const t=Ou.exec(e)[1],i=t==null?void 0:t.substring(0,t.indexOf(":"));if(i)return"arbitrary.."+i}},ty=e=>{const{theme:t,prefix:i}=e,n={nextPart:new Map,validators:[]};return ny(Object.entries(e.classGroups),i).forEach(([o,a])=>{Hl(a,n,o,t)}),n},Hl=(e,t,i,n)=>{e.forEach(r=>{if(typeof r=="string"){const o=r===""?t:Uu(t,r);o.classGroupId=i;return}if(typeof r=="function"){if(iy(r)){Hl(r(n),t,i,n);return}t.validators.push({validator:r,classGroupId:i});return}Object.entries(r).forEach(([o,a])=>{Hl(a,Uu(t,o),i,n)})})},Uu=(e,t)=>{let i=e;return t.split(Yc).forEach(n=>{i.nextPart.has(n)||i.nextPart.set(n,{nextPart:new Map,validators:[]}),i=i.nextPart.get(n)}),i},iy=e=>e.isThemeGetter,ny=(e,t)=>t?e.map(([i,n])=>{const r=n.map(o=>typeof o=="string"?t+o:typeof o=="object"?Object.fromEntries(Object.entries(o).map(([a,s])=>[t+a,s])):o);return[i,r]}):e,ry=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,i=new Map,n=new Map;const r=(o,a)=>{i.set(o,a),t++,t>e&&(t=0,n=i,i=new Map)};return{get(o){let a=i.get(o);if(a!==void 0)return a;if((a=n.get(o))!==void 0)return r(o,a),a},set(o,a){i.has(o)?i.set(o,a):r(o,a)}}},pm="!",oy=e=>{const{separator:t,experimentalParseClassName:i}=e,n=t.length===1,r=t[0],o=t.length,a=s=>{const l=[];let c=0,u=0,p;for(let b=0;b<s.length;b++){let m=s[b];if(c===0){if(m===r&&(n||s.slice(b,b+o)===t)){l.push(s.slice(u,b)),u=b+o;continue}if(m==="/"){p=b;continue}}m==="["?c++:m==="]"&&c--}const g=l.length===0?s:s.substring(u),d=g.startsWith(pm),y=d?g.substring(1):g,h=p&&p>u?p-u:void 0;return{modifiers:l,hasImportantModifier:d,baseClassName:y,maybePostfixModifierPosition:h}};return i?s=>i({className:s,parseClassName:a}):a},ay=e=>{if(e.length<=1)return e;const t=[];let i=[];return e.forEach(n=>{n[0]==="["?(t.push(...i.sort(),n),i=[]):i.push(n)}),t.push(...i.sort()),t},sy=e=>({cache:ry(e.cacheSize),parseClassName:oy(e),...Jx(e)}),ly=/\s+/,cy=(e,t)=>{const{parseClassName:i,getClassGroupId:n,getConflictingClassGroupIds:r}=t,o=[],a=e.trim().split(ly);let s="";for(let l=a.length-1;l>=0;l-=1){const c=a[l],{modifiers:u,hasImportantModifier:p,baseClassName:g,maybePostfixModifierPosition:d}=i(c);let y=!!d,h=n(y?g.substring(0,d):g);if(!h){if(!y){s=c+(s.length>0?" "+s:s);continue}if(h=n(g),!h){s=c+(s.length>0?" "+s:s);continue}y=!1}const b=ay(u).join(":"),m=p?b+pm:b,f=m+h;if(o.includes(f))continue;o.push(f);const v=r(h,y);for(let w=0;w<v.length;++w){const S=v[w];o.push(m+S)}s=c+(s.length>0?" "+s:s)}return s};function dy(){let e=0,t,i,n="";for(;e<arguments.length;)(t=arguments[e++])&&(i=gm(t))&&(n&&(n+=" "),n+=i);return n}const gm=e=>{if(typeof e=="string")return e;let t,i="";for(let n=0;n<e.length;n++)e[n]&&(t=gm(e[n]))&&(i&&(i+=" "),i+=t);return i};function uy(e,...t){let i,n,r,o=a;function a(l){const c=t.reduce((u,p)=>p(u),e());return i=sy(c),n=i.cache.get,r=i.cache.set,o=s,s(l)}function s(l){const c=n(l);if(c)return c;const u=cy(l,i);return r(l,u),u}return function(){return o(dy.apply(null,arguments))}}const ne=e=>{const t=i=>i[e]||[];return t.isThemeGetter=!0,t},fm=/^\[(?:([a-z-]+):)?(.+)\]$/i,py=/^\d+\/\d+$/,gy=new Set(["px","full","screen"]),fy=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,my=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,hy=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,vy=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,xy=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,jt=e=>On(e)||gy.has(e)||py.test(e),oi=e=>nr(e,"length",ky),On=e=>!!e&&!Number.isNaN(Number(e)),_s=e=>nr(e,"number",On),xr=e=>!!e&&Number.isInteger(Number(e)),yy=e=>e.endsWith("%")&&On(e.slice(0,-1)),V=e=>fm.test(e),ai=e=>fy.test(e),by=new Set(["length","size","percentage"]),wy=e=>nr(e,by,mm),Sy=e=>nr(e,"position",mm),Cy=new Set(["image","url"]),Ay=e=>nr(e,Cy,Ry),Iy=e=>nr(e,"",Ey),yr=()=>!0,nr=(e,t,i)=>{const n=fm.exec(e);return n?n[1]?typeof t=="string"?n[1]===t:t.has(n[1]):i(n[2]):!1},ky=e=>my.test(e)&&!hy.test(e),mm=()=>!1,Ey=e=>vy.test(e),Ry=e=>xy.test(e),zy=()=>{const e=ne("colors"),t=ne("spacing"),i=ne("blur"),n=ne("brightness"),r=ne("borderColor"),o=ne("borderRadius"),a=ne("borderSpacing"),s=ne("borderWidth"),l=ne("contrast"),c=ne("grayscale"),u=ne("hueRotate"),p=ne("invert"),g=ne("gap"),d=ne("gradientColorStops"),y=ne("gradientColorStopPositions"),h=ne("inset"),b=ne("margin"),m=ne("opacity"),f=ne("padding"),v=ne("saturate"),w=ne("scale"),S=ne("sepia"),C=ne("skew"),A=ne("space"),z=ne("translate"),N=()=>["auto","contain","none"],L=()=>["auto","hidden","clip","visible","scroll"],D=()=>["auto",V,t],j=()=>[V,t],W=()=>["",jt,oi],M=()=>["auto",On,V],Z=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],F=()=>["solid","dashed","dotted","double","none"],H=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],E=()=>["start","end","center","between","around","evenly","stretch"],R=()=>["","0",V],O=()=>["auto","avoid","all","avoid-page","page","left","right","column"],$=()=>[On,V];return{cacheSize:500,separator:":",theme:{colors:[yr],spacing:[jt,oi],blur:["none","",ai,V],brightness:$(),borderColor:[e],borderRadius:["none","","full",ai,V],borderSpacing:j(),borderWidth:W(),contrast:$(),grayscale:R(),hueRotate:$(),invert:R(),gap:j(),gradientColorStops:[e],gradientColorStopPositions:[yy,oi],inset:D(),margin:D(),opacity:$(),padding:j(),saturate:$(),scale:$(),sepia:R(),skew:$(),space:j(),translate:j()},classGroups:{aspect:[{aspect:["auto","square","video",V]}],container:["container"],columns:[{columns:[ai]}],"break-after":[{"break-after":O()}],"break-before":[{"break-before":O()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...Z(),V]}],overflow:[{overflow:L()}],"overflow-x":[{"overflow-x":L()}],"overflow-y":[{"overflow-y":L()}],overscroll:[{overscroll:N()}],"overscroll-x":[{"overscroll-x":N()}],"overscroll-y":[{"overscroll-y":N()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[h]}],"inset-x":[{"inset-x":[h]}],"inset-y":[{"inset-y":[h]}],start:[{start:[h]}],end:[{end:[h]}],top:[{top:[h]}],right:[{right:[h]}],bottom:[{bottom:[h]}],left:[{left:[h]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",xr,V]}],basis:[{basis:D()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",V]}],grow:[{grow:R()}],shrink:[{shrink:R()}],order:[{order:["first","last","none",xr,V]}],"grid-cols":[{"grid-cols":[yr]}],"col-start-end":[{col:["auto",{span:["full",xr,V]},V]}],"col-start":[{"col-start":M()}],"col-end":[{"col-end":M()}],"grid-rows":[{"grid-rows":[yr]}],"row-start-end":[{row:["auto",{span:[xr,V]},V]}],"row-start":[{"row-start":M()}],"row-end":[{"row-end":M()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",V]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",V]}],gap:[{gap:[g]}],"gap-x":[{"gap-x":[g]}],"gap-y":[{"gap-y":[g]}],"justify-content":[{justify:["normal",...E()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...E(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...E(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[f]}],px:[{px:[f]}],py:[{py:[f]}],ps:[{ps:[f]}],pe:[{pe:[f]}],pt:[{pt:[f]}],pr:[{pr:[f]}],pb:[{pb:[f]}],pl:[{pl:[f]}],m:[{m:[b]}],mx:[{mx:[b]}],my:[{my:[b]}],ms:[{ms:[b]}],me:[{me:[b]}],mt:[{mt:[b]}],mr:[{mr:[b]}],mb:[{mb:[b]}],ml:[{ml:[b]}],"space-x":[{"space-x":[A]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[A]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",V,t]}],"min-w":[{"min-w":[V,t,"min","max","fit"]}],"max-w":[{"max-w":[V,t,"none","full","min","max","fit","prose",{screen:[ai]},ai]}],h:[{h:[V,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[V,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[V,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[V,t,"auto","min","max","fit"]}],"font-size":[{text:["base",ai,oi]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",_s]}],"font-family":[{font:[yr]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",V]}],"line-clamp":[{"line-clamp":["none",On,_s]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",jt,V]}],"list-image":[{"list-image":["none",V]}],"list-style-type":[{list:["none","disc","decimal",V]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[m]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[m]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...F(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",jt,oi]}],"underline-offset":[{"underline-offset":["auto",jt,V]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:j()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",V]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",V]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[m]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...Z(),Sy]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",wy]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},Ay]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[y]}
vendor: 5,172 bytes, line 65
65],"gradient-via-pos":[{via:[y]}],"gradient-to-pos":[{to:[y]}],"gradient-from":[{from:[d]}],"gradient-via":[{via:[d]}],"gradient-to":[{to:[d]}],rounded:[{rounded:[o]}],"rounded-s":[{"rounded-s":[o]}],"rounded-e":[{"rounded-e":[o]}],"rounded-t":[{"rounded-t":[o]}],"rounded-r":[{"rounded-r":[o]}],"rounded-b":[{"rounded-b":[o]}],"rounded-l":[{"rounded-l":[o]}],"rounded-ss":[{"rounded-ss":[o]}],"rounded-se":[{"rounded-se":[o]}],"rounded-ee":[{"rounded-ee":[o]}],"rounded-es":[{"rounded-es":[o]}],"rounded-tl":[{"rounded-tl":[o]}],"rounded-tr":[{"rounded-tr":[o]}],"rounded-br":[{"rounded-br":[o]}],"rounded-bl":[{"rounded-bl":[o]}],"border-w":[{border:[s]}],"border-w-x":[{"border-x":[s]}],"border-w-y":[{"border-y":[s]}],"border-w-s":[{"border-s":[s]}],"border-w-e":[{"border-e":[s]}],"border-w-t":[{"border-t":[s]}],"border-w-r":[{"border-r":[s]}],"border-w-b":[{"border-b":[s]}],"border-w-l":[{"border-l":[s]}],"border-opacity":[{"border-opacity":[m]}],"border-style":[{border:[...F(),"hidden"]}],"divide-x":[{"divide-x":[s]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[s]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[m]}],"divide-style":[{divide:F()}],"border-color":[{border:[r]}],"border-color-x":[{"border-x":[r]}],"border-color-y":[{"border-y":[r]}],"border-color-s":[{"border-s":[r]}],"border-color-e":[{"border-e":[r]}],"border-color-t":[{"border-t":[r]}],"border-color-r":[{"border-r":[r]}],"border-color-b":[{"border-b":[r]}],"border-color-l":[{"border-l":[r]}],"divide-color":[{divide:[r]}],"outline-style":[{outline:["",...F()]}],"outline-offset":[{"outline-offset":[jt,V]}],"outline-w":[{outline:[jt,oi]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:W()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[m]}],"ring-offset-w":[{"ring-offset":[jt,oi]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",ai,Iy]}],"shadow-color":[{shadow:[yr]}],opacity:[{opacity:[m]}],"mix-blend":[{"mix-blend":[...H(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":H()}],filter:[{filter:["","none"]}],blur:[{blur:[i]}],brightness:[{brightness:[n]}],contrast:[{contrast:[l]}],"drop-shadow":[{"drop-shadow":["","none",ai,V]}],grayscale:[{grayscale:[c]}],"hue-rotate":[{"hue-rotate":[u]}],invert:[{invert:[p]}],saturate:[{saturate:[v]}],sepia:[{sepia:[S]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[i]}],"backdrop-brightness":[{"backdrop-brightness":[n]}],"backdrop-contrast":[{"backdrop-contrast":[l]}],"backdrop-grayscale":[{"backdrop-grayscale":[c]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[u]}],"backdrop-invert":[{"backdrop-invert":[p]}],"backdrop-opacity":[{"backdrop-opacity":[m]}],"backdrop-saturate":[{"backdrop-saturate":[v]}],"backdrop-sepia":[{"backdrop-sepia":[S]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[a]}],"border-spacing-x":[{"border-spacing-x":[a]}],"border-spacing-y":[{"border-spacing-y":[a]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",V]}],duration:[{duration:$()}],ease:[{ease:["linear","in","out","in-out",V]}],delay:[{delay:$()}],animate:[{animate:["none","spin","ping","pulse","bounce",V]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[w]}],"scale-x":[{"scale-x":[w]}],"scale-y":[{"scale-y":[w]}],rotate:[{rotate:[xr,V]}],"translate-x":[{"translate-x":[z]}],"translate-y":[{"translate-y":[z]}],"skew-x":[{"skew-x":[C]}],"skew-y":[{"skew-y":[C]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",V]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",V]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":j()}],"scroll-mx":[{"scroll-mx":j()}],"scroll-my":[{"scroll-my":j()}],"scroll-ms":[{"scroll-ms":j()}],"scroll-me":[{"scroll-me":j()}],"scroll-mt":[{"scroll-mt":j()}],"scroll-mr":[{"scroll-mr":j()}],"scroll-mb":[{"scroll-mb":j()}],"scroll-ml":[{"scroll-ml":j()}],"scroll-p":[{"scroll-p":j()}],"scroll-px":[{"scroll-px":j()}],"scroll-py":[{"scroll-py":j()}],"scroll-ps":[{"scroll-ps":j()}],"scroll-pe":[{"scroll-pe":j()}],"scroll-pt":[{"scroll-pt":j()}],"scroll-pr":[{"scroll-pr":j()}],"scroll-pb":[{"scroll-pb":j()}],"scroll-pl":[{"scroll-pl":j()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}
vendor: 4,487 bytes, line 65
65],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",V]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[jt,oi,_s]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},Py=uy(zy);function cn(...e){return Py(cm(e))}const Ty=Wx,hm=x.forwardRef(({className:e,...t},i)=>I.jsx(im,{ref:i,className:cn("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",e),...t}));hm.displayName=im.displayName;const Ly=qx("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),vm=x.forwardRef(({className:e,variant:t,...i},n)=>I.jsx(nm,{ref:n,className:cn(Ly({variant:t}),e),...i}));vm.displayName=nm.displayName;const Ny=x.forwardRef(({className:e,...t},i)=>I.jsx(am,{ref:i,className:cn("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors group-[.destructive]:border-muted/40 hover:bg-secondary group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 group-[.destructive]:focus:ring-destructive disabled:pointer-events-none disabled:opacity-50",e),...t}));
65Ny.displayName=am.displayName;const xm=x.forwardRef(({className:e,...t},i)=>I.jsx(sm,{ref:i,className:cn("absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity group-hover:opacity-100 group-[.destructive]:text-red-300 hover:text-foreground group-[.destructive]:hover:text-red-50 focus:opacity-100 focus:outline-none focus:ring-2 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",e),"toast-close":"",...t,children:I.jsx(Yx,{className:"h-4 w-4"})}));xm.displayName=sm.displayName;const ym=x.forwardRef(({className:e,...t},i)=>I.jsx(rm,{ref:i,className:cn("text-sm font-semibold",e),...t}));ym.displayName=rm.displayName;const bm=x.forwardRef(({className:e,...t},i)=>I.jsx(om,{ref:i,className:cn("text-sm opacity-90",e),...t}));bm.displayName=om.displayName;function My(){const{toasts:e}=ex();return I.jsxs(Ty,{children:[e.map(function({id:t,title:i,description:n,action:r,...o}){return I.jsxs(vm,{...o,children:[I.jsxs("div",{className:"grid gap-1",children:[i&&I.jsx(ym,{children:i}),n&&I.jsx(bm,{children:n})]}),r,I.jsx(xm,{})]},t)}),I.jsx(hm,{})]})}var ju=["light","dark"],Oy="(prefers-color-scheme: dark)",Uy=x.createContext(void 0),jy={setTheme:e=>{},themes:[]},By=()=>{var e;return(e=x.useContext(Uy))!=null?e:jy};x.memo(({forcedTheme:e,storageKey:t,attribute:i,enableSystem:n,enableColorScheme:r,defaultTheme:o,value:a,attrs:s,nonce:l})=>{let c=o==="system",u=i==="class"?`var d=document.documentElement,c=d.classList;${`c.remove(${s.map(y=>`'${y}'`).join(",")})`};`:`var d=document.documentElement,n='${i}',s='setAttribute';`,p=r?ju.includes(o)&&o?`if(e==='light'||e==='dark'||!e)d.style.colorScheme=e||'${o}'`:"if(e==='light'||e==='dark')d.style.colorScheme=e":"",g=(y,h=!1,b=!0)=>{let m=a?a[y]:y,f=h?y+"|| ''":`'${m}'`,v="";return r&&b&&!h&&ju.includes(y)&&(v+=`d.style.colorScheme = '${y}';`),i==="class"?h||m?v+=`c.add(${f})`:v+="null":m&&(v+=`d[s](n,${f})`),v},d=e?`!function(){${u}${g(e)}}()`:n?`!function(){try{${u}var e=localStorage.getItem('${t}');if('system'===e||(!e&&${c})){var t='${Oy}',m=window.matchMedia(t);if(m.media!==t||m.matches){${g("dark")}}else{${g("light")}}}else if(e){${a?`var x=${JSON.stringify(a)};`:""}${g(a?"x[e]":"e",!0)}}${c?"":"else{"+g(o,!1,!1)+"}"}${p}}catch(e){}}()`:`!function(){try{${u}var e=localStorage.getItem('${t}');if(e){${a?`var x=${JSON.stringify(a)};`:""}${g(a?"x[e]":"e",!0)}}else{${g(o,!1,!1)};}${p}}catch(t){}}();`;return x.createElement("script",{nonce:l,dangerouslySetInnerHTML:{__html:d}})});var Dy=e=>{switch(e){case"success":return Gy;case"info":return $y;case"warning":return Hy;case"error":return Vy;default:return null}},Fy=Array(12).fill(0),_y=({visible:e,className:t})=>T.createElement("div",{className:["sonner-loading-wrapper",t].filter(Boolean).join(" "),"data-visible":e},T.createElement("div",{className:"sonner-spinner"},Fy.map((i,n)=>T.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${n}`})))),Gy=T.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},T.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),Hy=T.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},T.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),$y=T.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},T.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),Vy=T.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},T.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),Wy=T.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},T.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),T.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),qy=()=>{let[e,t]=T.useState(document.hidden);return T.useEffect(()=>{let i=()=>{t(document.hidden)};
65return document.addEventListener("visibilitychange",i),()=>window.removeEventListener("visibilitychange",i)},[]),e},$l=1,Qy=class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{var t;let{message:i,...n}=e,r=typeof(e==null?void 0:e.id)=="number"||((t=e.id)==null?void 0:t.length)>0?e.id:$l++,o=this.toasts.find(s=>s.id===r),a=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),o?this.toasts=this.toasts.map(s=>s.id===r?(this.publish({...s,...e,id:r,title:i}),{...s,...e,id:r,dismissible:a,title:i}):s):this.addToast({title:i,...n,dismissible:a,id:r}),r},this.dismiss=e=>(this.dismissedToasts.add(e),e||this.toasts.forEach(t=>{this.subscribers.forEach(i=>i({id:t.id,dismiss:!0}))}),this.subscribers.forEach(t=>t({id:e,dismiss:!0})),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:"error"}),this.success=(e,t)=>this.create({...t,type:"success",message:e}),this.info=(e,t)=>this.create({...t,type:"info",message:e}),this.warning=(e,t)=>this.create({...t,type:"warning",message:e}),this.loading=(e,t)=>
65this.create({...t,type:"loading",message:e}),this.promise=(e,t)=>{if(!t)return;let i;t.loading!==void 0&&(i=this.create({...t,promise:e,type:"loading",message:t.loading,description:typeof t.description!="function"?t.description:void 0}));let n=e instanceof Promise?e:e(),r=i!==void 0,o,a=n.then(async l=>{if(o=["resolve",l],T.isValidElement(l))r=!1,this.create({id:i,type:"default",message:l});else if(Ky(l)&&!l.ok){r=!1;let c=typeof t.error=="function"?await t.error(`HTTP error! status: ${l.status}`):t.error,u=typeof t.description=="function"?await t.description(`HTTP error! status: ${l.status}`):t.description;this.create({id:i,type:"error",message:c,description:u})}else if(t.success!==void 0){r=!1;let c=typeof t.success=="function"?await t.success(l):t.success,u=typeof t.description=="function"?await t.description(l):t.description;this.create({id:i,type:"success",message:c,description:u})}}).catch(async l=>{if(o=["reject",l],t.error!==void 0){r=!1;let c=typeof t.error=="function"?await t.error(l):t.error,u=typeof t.description=="function"?await t.description(l):t.description;this.create({id:i,type:"error",message:c,description:u})}}).finally(()=>{var l;r&&(this.dismiss(i),i=void 0),(l=t.finally)==null||l.call(t)}),s=()=>new Promise((l,c)=>a.then(()=>o[0]==="reject"?c(o[1]):l(o[1])).catch(c));return typeof i!="string"&&typeof i!="number"?{unwrap:s}:Object.assign(i,{unwrap:s})},this.custom=(e,t)=>{let i=(t==null?void 0:t.id)||$l++;return this.create({jsx:e(i),id:i,...t}),i},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},Be=new Qy,Zy=(e,t)=>{let i=(t==null?void 0:t.id)||$l++;return Be.addToast({title:e,...t,id:i}),i},Ky=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",Xy=Zy,Yy=()=>Be.toasts,Jy=()=>Be.getActiveToasts();Object.assign(Xy,{success:Be.success,info:Be.info,warning:Be.warning,error:Be.error,custom:Be.custom,message:Be.message,promise:Be.promise,dismiss:Be.dismiss,loading:Be.loading},{getHistory:Yy,getToasts:Jy});function eb(e,{insertAt:t}={}){if(typeof document>"u")return;let i=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",t==="top"&&i.firstChild?i.insertBefore(n,i.firstChild):i.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}eb(`:where(html[dir="ltr"]),:where([data-sonner-toaster][dir="ltr"]){--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}:where(html[dir="rtl"]),:where([data-sonner-toaster][dir="rtl"]){--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted="true"]){transform:translateY(-10px)}@media (hover: none) and (pointer: coarse){:where([data-sonner-toaster][data-lifted="true"]){transform:none}}:where([data-sonner-toaster][data-x-position="right"]){right:var(--offset-right)}:where([data-sonner-toaster][data-x-position="left"]){left:var(--offset-left)}:where([data-sonner-toaster][data-x-position="center"]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position="top"]){top:var(--offset-top)}:where([data-sonner-toaster][data-y-position="bottom"]){bottom:var(--offset-bottom)}:where([data-sonner-toast]){--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled="true"]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position="top"]){top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position="bottom"]){bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise="true"]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme="dark"]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([data-close-button]){position:absolute;
65left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled="true"]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping="true"]):before{content:"";position:absolute;left:-50%;right:-50%;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position="top"][data-swiping="true"]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position="bottom"][data-swiping="true"]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping="false"][data-removed="true"]):before{content:"";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted="true"]){--y: translateY(0);opacity:1}:where([data-sonner-toast][data-expanded="false"][data-front="false"]){--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"])>*{opacity:0}
65:where([data-sonner-toast][data-visible="false"]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted="true"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"]){--y: translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"]){--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed="true"][data-front="false"]):before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);
65--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}
66`);function jo(e){return e.label!==void 0}var tb=3,ib="32px",nb="16px",Bu=4e3,rb=356,ob=14,ab=20,sb=200;function pt(...e){return e.filter(Boolean).join(" ")}function lb(e){let[t,i]=e.split("-"),n=[];return t&&n.push(t),i&&n.push(i),n}var cb=e=>{var t,i,n,r,o,a,s,l,c,u,p;let{invert:g,toast:d,unstyled:y,interacting:h,setHeights:b,visibleToasts:m,heights:f,index:v,toasts:w,expanded:S,removeToast:C,defaultRichColors:A,closeButton:z,style:N,cancelButtonStyle:L,actionButtonStyle:D,className:j="",descriptionClassName:W="",duration:M,position:Z,gap:F,loadingIcon:H,expandByDefault:E,classNames:R,icons:O,closeButtonAriaLabel:$="Close toast",pauseWhenPageIsHidden:B}=e,[q,K]=T.useState(null),[fe,Ie]=T.useState(null),[J,dn]=T.useState(!1),[Yt,ji]=T.useState(!1),[Jt,un]=T.useState(!1),[ei,fo]=T.useState(!1),[ss,mo]=T.useState(!1),[ls,lr]=T.useState(0),[pn,pd]=T.useState(0),cr=T.useRef(d.duration||M||Bu),gd=T.useRef(null),Bi=T.useRef(null),fh=v===0,mh=v+1<=m,Je=d.type,gn=d.dismissible!==!1,hh=d.className||"",vh=d.descriptionClassName||"",ho=T.useMemo(()=>f.findIndex(_=>_.toastId===d.id)||0,[f,d.id]),xh=T.useMemo(()=>{var _;return(_=d.closeButton)!=null?_:z},[d.closeButton,z]),fd=T.useMemo(()=>d.duration||M||Bu,[d.duration,M]),cs=T.useRef(0),fn=T.useRef(0),md=T.useRef(0),mn=T.useRef(null),[yh,bh]=Z.split("-"),hd=T.useMemo(()=>f.reduce((_,te,ae)=>ae>=ho?_:_+te.height,0),[f,ho]),vd=qy(),wh=d.invert||g,ds=Je==="loading";fn.current=T.useMemo(()=>
66ho*F+hd,[ho,hd]),T.useEffect(()=>{cr.current=fd},[fd]),T.useEffect(()=>{dn(!0)},[]),T.useEffect(()=>{let _=Bi.current;if(_){let te=_.getBoundingClientRect().height;return pd(te),b(ae=>[{toastId:d.id,height:te,position:d.position},...ae]),()=>b(ae=>ae.filter(lt=>lt.toastId!==d.id))}},[b,d.id]),T.useLayoutEffect(()=>{if(!J)return;let _=Bi.current,te=_.style.height;_.style.height="auto";let ae=_.getBoundingClientRect().height;_.style.height=te,pd(ae),b(lt=>lt.find(ct=>ct.toastId===d.id)?lt.map(ct=>ct.toastId===d.id?{...ct,height:ae}:ct):[{toastId:d.id,height:ae,position:d.position},...lt])},[J,d.title,d.description,b,d.id]);let ti=T.useCallback(()=>{ji(!0),lr(fn.current),b(_=>_.filter(te=>te.toastId!==d.id)),setTimeout(()=>{C(d)},sb)},[d,C,b,fn]);T.useEffect(()=>{if(d.promise&&Je==="loading"||d.duration===1/0||d.type==="loading")return;let _;return S||h||B&&vd?(()=>{if(md.current<cs.current){let te=new Date().getTime()-cs.current;cr.current=cr.current-te}md.current=new Date().getTime()})():cr.current!==1/0&&(cs.current=ne
66w Date().getTime(),_=setTimeout(()=>{var te;(te=d.onAutoClose)==null||te.call(d,d),ti()},cr.current)),()=>clearTimeout(_)},[S,h,d,Je,B,vd,ti]),T.useEffect(()=>{d.delete&&ti()},[ti,d.delete]);function Sh(){var _,te,ae;return O!=null&&O.loading?T.createElement("div",{className:pt(R==null?void 0:R.loader,(_=d==null?void 0:d.classNames)==null?void 0:_.loader,"sonner-loader"),"data-visible":Je==="loading"},O.loading):H?T.createElement("div",{className:pt(R==null?void 0:R.loader,(te=d==null?void 0:d.classNames)==null?void 0:te.loader,"sonner-loader"),"data-visible":Je==="loading"},H):T.createElement(_y,{className:pt(R==null?void 0:R.loader,(ae=d==null?void 0:d.classNames)==null?void 0:ae.loader),visible:Je==="loading"})}return T.createElement("li",{tabIndex:0,ref:Bi,className:pt(j,hh,R==null?void 0:R.toast,(t=d==null?void 0:d.classNames)==null?void 0:t.toast,R==null?void 0:R.default,R==null?void 0:R[Je],(i=d==null?void 0:d.classNames)==null?void 0:i[Je]),"data-sonner-toast":"","data-rich-colors":(n=d.richColors)!=null?n:A,"data-styled":!(d.jsx||d.unstyled||y),"data-mounted":J,"data-promise":!!d.promise,"data-swiped":ss,"data-removed":Yt,"data-visible":mh,"data-y-position":yh,"data-x-position":bh,"data-index":v,"data-front":fh,"data-swiping":Jt,"data-dismissible":gn,"data-type":Je,"data-invert":wh,"data-swipe-out":ei,"data-swipe-direction":fe,"data-expanded":!!(S||E&&J),style:{"--index":v,"--toasts-before":v,"--z-index":w.length-v,"--offset":`${Yt?ls:fn.current}px`,"--initial-height":E?"auto":`${pn}px`,...N,...d.style},onDragEnd:()=>{un(!1),K(null),mn.current=null},onPointerDown:_=>{ds||!gn||(gd.current=new Date,lr(fn.current),_.target.setPointerCapture(_.pointerId),_.target.tagName!=="BUTTON"&&(un(!0),mn.current={x:_.clientX,y:_.clientY}))},onPointerUp:()=>{var _,te,ae,lt;if(ei||!gn)return;mn.current=null;let ct=Number(((_=Bi.current)==null?void 0:_.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),ii=Number(((te=Bi.current)==null?void 0:te.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),Di=new Date().getTime()-((ae=gd.current)==null?void 0:ae.getTime()),dt=q==="x"?ct:ii,ni=Math.abs(dt)/Di;if(Math.abs(dt)>=ab||ni>.11){lr(fn.current),(lt=d.onDismiss)==null||lt.call(d,d),Ie(q==="x"?ct>0?"right":"left":ii>0?"down":"up"),ti(),fo(!0),mo(!1);return}un(!1),K(null)},onPointerMove:_=>{var te,ae,lt,ct;if(!mn.current||!gn||((te=window.getSelection())==null?void 0:te.toString().length)>0)return;let ii=_.clientY-mn.current.y,Di=_.clientX-mn.current.x,dt=(ae=e.swipeDirections)!=null?ae:lb(Z);!q&&(Math.abs(Di)>1||Math.abs(ii)>1)&&K(Math.abs(Di)>Math.abs(ii)?"x":"y");let ni={x:0,y:0};q==="y"?(dt.includes("top")||dt.includes("bottom"))&&(dt.includes("top")&&ii<0||dt.includes("bottom")&&ii>0)&&(ni.y=ii):q==="x"&&(dt.includes("left")||dt.includes("right"))&&(dt.includes("left")&&Di<0||dt.includes("right")&&Di>0)&&(ni.x=Di),(Math.abs(ni.x)>0||Math.abs(ni.y)>0)&&mo(!0),(lt=Bi.current)==null||lt.style.setProperty("--swipe-amount-x",`${ni.x}px`),(ct=Bi.current)==null||ct.style.setProperty("--swipe-amount-y",`${ni.y}px`)}},xh&&!d.jsx?T.createElement("button",{"aria-label":$,"data-disabled":ds,"data-close-button":!0,onClick:ds||!gn?()=>{}:()=>{var _;ti(),(_=d.onDismiss)==null||_.call(d,d)},className:pt(R==null?void 0:R.closeButton,(r=d==null?void 0:d.classNames)==null?void 0:r.closeButton)},(o=O==null?void 0:O.close)!=null?o:Wy):null,d.jsx||x.isValidElement(d.title)?d.jsx?d.jsx:typeof d.title=="function"?d.title():d.title:T.createElement(T.Fragment,null,Je||d.icon||d.promise?T.createElement("div",{"data-icon":"",className:pt(R==null?void 0:R.icon,(a=d==null?void 0:d.classNames)==null?void 0:a.icon)},d.promise||d.type==="loading"&&!d.icon?d.icon||Sh():null,d.type!=="loading"?d.icon||(O==null?void 0:O[Je])||Dy(Je):null):null,T.createElement("div",{"data-content":"",className:pt(R==null?void 0:R.content,(s=d==null?void 0:d.classNames)==null?void 0:s.content)},T.createElement("div",{"data-title":"",className:pt(R==null?void 0:R.title,(l=d==null?void 0:d.classNames)==null?void 0:l.title)},typeof d.title=="function"?d.title():d.title),d.description?T.createElement("div",{"data-description":"",className:pt(W,vh,R==null?void 0:R.description,(c=d==null?void 0:d.classNames)==null?void 0:c.description)},typeof d.description=="function"?d.description():d.description):null),x.isValidElement(d.cancel)?d.cancel:d.cancel&&jo(d.cancel)?T.createElement("button",{"data-button":!0,"data-cancel":!0,style:d.cancelButtonStyle||L,onClick:_=>{var te,ae;jo(d.cancel)&&gn&&((ae=(te=d.cancel).onClick)==null||ae.call(te,_),ti())},className:pt(R==null?void 0:R.cancelButton,(u=d==null?void 0:d.classNames)==null?void 0:u.cancelButton)},d.cancel.label):null,x.isValidElement(d.action)?d.action:d.action&&jo(d.action)?T.createElement("button",{"data-button":!0,"data-action":!0,style:d.actionButtonStyle||D,onClick:_=>{var te,ae;jo(d.action)&&((ae=(te=d.action).onClick)==null||ae.call(te,_),!_.defaultPrevented&&ti())},className:pt(R==null?void 0:R.actionButton,(p=d==null?void 0:d.classNames)==null?void 0:p.actionButton)},d.action.label):null))};function Du(){if(typeof window>"u"||typeof document>"u")return"ltr";let e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}function db(e,t){let i={};return[e,t].forEach((n,r)=>{let o=r===1,a=o?"--mobile-offset":"--offset",s=o?nb:ib;function l(c){["top","right","bottom","left"].forEach(u=>{i[`${a}-${u}`]=typeof c=="number"?`${c}px`:c})}typeof n=="number"||typeof n=="string"?l(n):typeof n=="object"?["top","right","bottom","left"].forEach(c=>{n[c]===void 0?i[`${a}-${c}`]=s:i[`${a}-${c}`]=typeof n[c]=="number"?`${n[c]}px`:n[c]}):l(s)}),i}var ub=x.forwardRef(function(e,t){let{invert:i,position:n="bottom-right",hotkey:r=["altKey","KeyT"],expand:o,closeButton:a,className:s,offset:l,mobileOffset:c,theme:u="light",richColors:p,duration:g,style:d,visibleToasts:y=tb,toastOptions:h,dir:b=Du(),gap:m=ob,loadingIcon:f,icons:v,containerAriaLabel:w="Notifications",pauseWhenPageIsHidden:S}=e,[C,A]=T.useState([]),z=T.useMemo(()=>
vendor: 4,213 bytes, line 66
66Array.from(new Set([n].concat(C.filter(B=>B.position).map(B=>B.position)))),[C,n]),[N,L]=T.useState([]),[D,j]=T.useState(!1),[W,M]=T.useState(!1),[Z,F]=T.useState(u!=="system"?u:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),H=T.useRef(null),E=r.join("+").replace(/Key/g,"").replace(/Digit/g,""),R=T.useRef(null),O=T.useRef(!1),$=T.useCallback(B=>{A(q=>{var K;return(K=q.find(fe=>fe.id===B.id))!=null&&K.delete||Be.dismiss(B.id),q.filter(({id:fe})=>fe!==B.id)})},[]);return T.useEffect(()=>Be.subscribe(B=>{if(B.dismiss){A(q=>q.map(K=>K.id===B.id?{...K,delete:!0}:K));return}setTimeout(()=>{Mf.flushSync(()=>{A(q=>{let K=q.findIndex(fe=>fe.id===B.id);return K!==-1?[...q.slice(0,K),{...q[K],...B},...q.slice(K+1)]:[B,...q]})})})}),[]),T.useEffect(()=>{if(u!=="system"){F(u);return}if(u==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?F("dark"):F("light")),typeof window>"u")return;let B=window.matchMedia("(prefers-color-scheme: dark)");try{B.addEventListener("change",({matches:q})=>{F(q?"dark":"light")})}catch{B.addListener(({matches:K})=>{try{F(K?"dark":"light")}catch(fe){console.error(fe)}})}},[u]),T.useEffect(()=>{C.length<=1&&j(!1)},[C]),T.useEffect(()=>{let B=q=>{var K,fe;r.every(Ie=>q[Ie]||q.code===Ie)&&(j(!0),(K=H.current)==null||K.focus()),q.code==="Escape"&&(document.activeElement===H.current||(fe=H.current)!=null&&fe.contains(document.activeElement))&&j(!1)};return document.addEventListener("keydown",B),()=>document.removeEventListener("keydown",B)},[r]),T.useEffect(()=>{if(H.current)return()=>{R.current&&(R.current.focus({preventScroll:!0}),R.current=null,O.current=!1)}},[H.current]),T.createElement("section",{ref:t,"aria-label":`${w} ${E}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},z.map((B,q)=>{var K;let[fe,Ie]=B.split("-");return C.length?T.createElement("ol",{key:B,dir:b==="auto"?Du():b,tabIndex:-1,ref:H,className:s,"data-sonner-toaster":!0,"data-theme":Z,"data-y-position":fe,"data-lifted":D&&C.length>1&&!o,"data-x-position":Ie,style:{"--front-toast-height":`${((K=N[0])==null?void 0:K.height)||0}px`,"--width":`${rb}px`,"--gap":`${m}px`,...d,...db(l,c)},onBlur:J=>{O.current&&!J.currentTarget.contains(J.relatedTarget)&&(O.current=!1,R.current&&(R.current.focus({preventScroll:!0}),R.current=null))},onFocus:J=>{J.target instanceof HTMLElement&&J.target.dataset.dismissible==="false"||O.current||(O.current=!0,R.current=J.relatedTarget)},onMouseEnter:()=>j(!0),onMouseMove:()=>j(!0),onMouseLeave:()=>{W||j(!1)},onDragEnd:()=>j(!1),onPointerDown:J=>{J.target instanceof HTMLElement&&J.target.dataset.dismissible==="false"||M(!0)},onPointerUp:()=>M(!1)},C.filter(J=>!J.position&&q===0||J.position===B).map((J,dn)=>{var Yt,ji;return T.createElement(cb,{key:J.id,icons:v,index:dn,toast:J,defaultRichColors:p,duration:(Yt=h==null?void 0:h.duration)!=null?Yt:g,className:h==null?void 0:h.className,descriptionClassName:h==null?void 0:h.descriptionClassName,invert:i,visibleToasts:y,closeButton:(ji=h==null?void 0:h.closeButton)!=null?ji:a,interacting:W,position:B,style:h==null?void 0:h.style,unstyled:h==null?void 0:h.unstyled,classNames:h==null?void 0:h.classNames,cancelButtonStyle:h==null?void 0:h.cancelButtonStyle,actionButtonStyle:h==null?void 0:h.actionButtonStyle,removeToast:$,toasts:C.filter(Jt=>Jt.position==J.position),heights:N.filter(Jt=>Jt.position==J.position),setHeights:L,expandByDefault:o,gap:m,loadingIcon:f,expanded:D,pauseWhenPageIsHidden:S,swipeDirections:e.swipeDirections})})):null}))});const pb=({...e})=>{const{theme:t="system"}=By();return I.jsx(ub,{theme:t,className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...e})},gb=["top","right","bottom","left"],Li=Math.min,We=Math.max,Ia=Math.round,Bo=Math.floor,Mt=e=>({x:e,y:e}
vendor: 10,816 bytes, line 66
66),fb={left:"right",right:"left",bottom:"top",top:"bottom"},mb={start:"end",end:"start"};function Vl(e,t,i){return We(e,Li(t,i))}function Zt(e,t){return typeof e=="function"?e(t):e}function Kt(e){return e.split("-")[0]}function rr(e){return e.split("-")[1]}function Jc(e){return e==="x"?"y":"x"}function ed(e){return e==="y"?"height":"width"}const hb=new Set(["top","bottom"]);function Tt(e){return hb.has(Kt(e))?"y":"x"}function td(e){return Jc(Tt(e))}function vb(e,t,i){i===void 0&&(i=!1);const n=rr(e),r=td(e),o=ed(r);let a=r==="x"?n===(i?"end":"start")?"right":"left":n==="start"?"bottom":"top";return t.reference[o]>t.floating[o]&&(a=ka(a)),[a,ka(a)]}function xb(e){const t=ka(e);return[Wl(e),t,Wl(t)]}function Wl(e){return e.replace(/start|end/g,t=>mb[t])}const Fu=["left","right"],_u=["right","left"],yb=["top","bottom"],bb=["bottom","top"];function wb(e,t,i){switch(e){case"top":case"bottom":return i?t?_u:Fu:t?Fu:_u;case"left":case"right":return t?yb:bb;default:return[]}}function Sb(e,t,i,n){const r=rr(e);let o=wb(Kt(e),i==="start",n);return r&&(o=o.map(a=>a+"-"+r),t&&(o=o.concat(o.map(Wl)))),o}function ka(e){return e.replace(/left|right|bottom|top/g,t=>fb[t])}function Cb(e){return{top:0,right:0,bottom:0,left:0,...e}}function wm(e){return typeof e!="number"?Cb(e):{top:e,right:e,bottom:e,left:e}}function Ea(e){const{x:t,y:i,width:n,height:r}=e;return{width:n,height:r,top:i,left:t,right:t+n,bottom:i+r,x:t,y:i}}function Gu(e,t,i){let{reference:n,floating:r}=e;const o=Tt(t),a=td(t),s=ed(a),l=Kt(t),c=o==="y",u=n.x+n.width/2-r.width/2,p=n.y+n.height/2-r.height/2,g=n[s]/2-r[s]/2;let d;switch(l){case"top":d={x:u,y:n.y-r.height};break;case"bottom":d={x:u,y:n.y+n.height};break;case"right":d={x:n.x+n.width,y:p};break;case"left":d={x:n.x-r.width,y:p};break;default:d={x:n.x,y:n.y}}switch(rr(t)){case"start":d[a]-=g*(i&&c?-1:1);break;case"end":d[a]+=g*(i&&c?-1:1);break}return d}const Ab=async(e,t,i)=>{const{placement:n="bottom",strategy:r="absolute",middleware:o=[],platform:a}=i,s=o.filter(Boolean),l=await(a.isRTL==null?void 0:a.isRTL(t));let c=await a.getElementRects({reference:e,floating:t,strategy:r}),{x:u,y:p}=Gu(c,n,l),g=n,d={},y=0;for(let h=0;h<s.length;h++){const{name:b,fn:m}=s[h],{x:f,y:v,data:w,reset:S}=await m({x:u,y:p,initialPlacement:n,placement:g,strategy:r,middlewareData:d,rects:c,platform:a,elements:{reference:e,floating:t}});u=f??u,p=v??p,d={...d,[b]:{...d[b],...w}},S&&y<=50&&(y++,typeof S=="object"&&(S.placement&&(g=S.placement),S.rects&&(c=S.rects===!0?await a.getElementRects({reference:e,floating:t,strategy:r}):S.rects),{x:u,y:p}=Gu(c,g,l)),h=-1)}return{x:u,y:p,placement:g,strategy:r,middlewareData:d}};async function Xr(e,t){var i;t===void 0&&(t={});const{x:n,y:r,platform:o,rects:a,elements:s,strategy:l}=e,{boundary:c="clippingAncestors",rootBoundary:u="viewport",elementContext:p="floating",altBoundary:g=!1,padding:d=0}=Zt(t,e),y=wm(d),b=s[g?p==="floating"?"reference":"floating":p],m=Ea(await o.getClippingRect({element:(i=await(o.isElement==null?void 0:o.isElement(b)))==null||i?b:b.contextElement||await(o.getDocumentElement==null?void 0:o.getDocumentElement(s.floating)),boundary:c,rootBoundary:u,strategy:l})),f=p==="floating"?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,v=await(o.getOffsetParent==null?void 0:o.getOffsetParent(s.floating)),w=await(o.isElement==null?void 0:o.isElement(v))?await(o.getScale==null?void 0:o.getScale(v))||{x:1,y:1}:{x:1,y:1},S=Ea(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:f,offsetParent:v,strategy:l}):f);return{top:(m.top-S.top+y.top)/w.y,bottom:(S.bottom-m.bottom+y.bottom)/w.y,left:(m.left-S.left+y.left)/w.x,right:(S.right-m.right+y.right)/w.x}}const Ib=e=>({name:"arrow",options:e,async fn(t){const{x:i,y:n,placement:r,rects:o,platform:a,elements:s,middlewareData:l}=t,{element:c,padding:u=0}=Zt(e,t)||{};if(c==null)return{};const p=wm(u),g={x:i,y:n},d=td(r),y=ed(d),h=await a.getDimensions(c),b=d==="y",m=b?"top":"left",f=b?"bottom":"right",v=b?"clientHeight":"clientWidth",w=o.reference[y]+o.reference[d]-g[d]-o.floating[y],S=g[d]-o.reference[d],C=await(a.getOffsetParent==null?void 0:a.getOffsetParent(c));let A=C?C[v]:0;(!A||!await(a.isElement==null?void 0:a.isElement(C)))&&(A=s.floating[v]||o.floating[y]);const z=w/2-S/2,N=A/2-h[y]/2-1,L=Li(p[m],N),D=Li(p[f],N),j=L,W=A-h[y]-D,M=A/2-h[y]/2+z,Z=Vl(j,M,W),F=!l.arrow&&rr(r)!=null&&M!==Z&&o.reference[y]/2-(M<j?L:D)-h[y]/2<0,H=F?M<j?M-j:M-W:0;return{[d]:g[d]+H,data:{[d]:Z,centerOffset:M-Z-H,...F&&{alignmentOffset:H}},reset:F}}}),kb=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var i,n;const{placement:r,middlewareData:o,rects:a,initialPlacement:s,platform:l,elements:c}=t,{mainAxis:u=!0,crossAxis:p=!0,fallbackPlacements:g,fallbackStrategy:d="bestFit",fallbackAxisSideDirection:y="none",flipAlignment:h=!0,...b}=Zt(e,t);if((i=o.arrow)!=null&&i.alignmentOffset)return{};const m=Kt(r),f=Tt(s),v=Kt(s)===s,w=await(l.isRTL==null?void 0:l.isRTL(c.floating)),S=g||(v||!h?[ka(s)]:xb(s)),C=y!=="none";!g&&C&&S.push(...Sb(s,h,y,w));const A=[s,...S],z=await Xr(t,b),N=[];let L=((n=o.flip)==null?void 0:n.overflows)||[];if(u&&N.push(z[m]),p){const M=vb(r,a,w);N.push(z[M[0]],z[M[1]])}if(L=[...L,{placement:r,overflows:N}],!N.every(M=>M<=0)){var D,j;const M=(((D=o.flip)==null?void 0:D.index)||0)+1,Z=A[M];if(Z&&(!(p==="alignment"?f!==Tt(Z):!1)||L.every(E=>E.overflows[0]>0&&Tt(E.placement)===f)))return{data:{index:M,overflows:L},reset:{placement:Z}};let F=(j=L.filter(H=>H.overflows[0]<=0).sort((H,E)=>H.overflows[1]-E.overflows[1])[0])==null?void 0:j.placement;if(!F)switch(d){case"bestFit":{var W;const H=(W=L.filter(E=>{if(C){const R=Tt(E.placement);return R===f||R==="y"}return!0}).map(E=>[E.placement,E.overflows.filter(R=>R>0).reduce((R,O)=>R+O,0)]).sort((E,R)=>E[1]-R[1])[0])==null?void 0:W[0];H&&(F=H);break}case"initialPlacement":F=s;break}if(r!==F)return{reset:{placement:F}}}return{}}}};function Hu(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function $u(e){return gb.some(t=>e[t]>=0)}const Eb=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:i}=t,{strategy:n="referenceHidden",...r}=Zt(e,t);switch(n){case"referenceHidden":{const o=await Xr(t,{...r,elementContext:"reference"}),a=Hu(o,i.reference);return{data:{referenceHiddenOffsets:a,referenceHidden:$u(a)}}}case"escaped":{const o=await Xr(t,{...r,altBoundary:!0}),a=Hu(o,i.floating);return{data:{escapedOffsets:a,escaped:$u(a)}}}default:return{}}}}},Sm=new Set(["left","top"]);async function Rb(e,t){const{placement:i,platform:n,elements:r}=e,o=await(n.isRTL==null?void 0:n.isRTL(r.floating)),a=Kt(i),s=rr(i),l=Tt(i)==="y",c=Sm.has(a)?-1:1,u=o&&l?-1:1,p=Zt(t,e);let{mainAxis:g,crossAxis:d,alignmentAxis:y}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:p.mainAxis||0,crossAxis:p.crossAxis||0,alignmentAxis:p.alignmentAxis};return s&&typeof y=="number"&&(d=s==="end"?y*-1:y),l?{x:d*u,y:g*c}:{x:g*c,y:d*u}}const zb=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var i,n;const{x:r,y:o,placement:a,middlewareData:s}=t,l=await Rb(t,e);return a===((i=s.offset)==null?void 0:i.placement)&&(n=s.arrow)!=null&&n.alignmentOffset?{}:{x:r+l.x,y:o+l.y,data:{...l,placement:a}}}}},Pb=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:i,y:n,placement:r}=t,{mainAxis:o=!0,crossAxis:a=!1,limiter:s={fn:b=>{let{x:m,y:f}=b;return{x:m,y:f}}},...l}=Zt(e,t),c={x:i,y:n},u=await Xr(t,l),p=Tt(Kt(r)),g=Jc(p);let d=c[g],y=c[p];if(o){const b=g==="y"?"top":"left",m=g==="y"?"bottom":"right",f=d+u[b],v=d-u[m];d=Vl(f,d,v)}if(a){const b=p==="y"?"top":"left",m=p==="y"?"bottom":"right",f=y+u[b],v=y-u[m];y=Vl(f,y,v)}const h=s.fn({...t,[g]:d,[p]:y});return{...h,data:{x:h.x-i,y:h.y-n,enabled:{[g]:o,[p]:a}}}}}},Tb=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:i,y:n,placement:r,rects:o,middlewareData:a}=t,{offset:s=0,mainAxis:l=!0,crossAxis:c=!0}=Zt(e,t),u={x:i,y:n},p=Tt(r),g=Jc(p);let d=u[g],y=u[p];const h=Zt(s,t),b=typeof h=="number"?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(l){const v=g==="y"?"height":"width",w=o.reference[g]-o.floating[v]+b.mainAxis,S=o.reference[g]+o.reference[v]-b.mainAxis;d<w?d=w:d>S&&(d=S)}if(c){var m,f;const v=g==="y"?"width":"height",w=Sm.has(Kt(r)),S=o.reference[p]-o.floating[v]+(w&&((m=a.offset)==null?void 0:m[p])||0)+(w?0:b.crossAxis),C=o.reference[p]+o.reference[v]+(w?0:((f=a.offset)==null?void 0:f[p])||0)-(w?b.crossAxis:0);y<S?y=S:y>C&&(y=C)}return{[g]:d,[p]:y}}}},Lb=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var i,n;const{placement:r,rects:o,platform:a,elements:s}=t,{apply:l=()=>{},...c}=Zt(e,t),u=await Xr(t,c),p=Kt(r),g=rr(r),d=Tt(r)==="y",{width:y,height:h}=o.floating;let b,m;p==="top"||p==="bottom"?(b=p,m=g===(await(a.isRTL==null?void 0:a.isRTL(s.floating))?"start":"end")?"left":"right"):(m=p,b=g==="end"?"top":"bottom");const f=h-u.top-u.bottom,v=y-u.left-u.right,w=Li(h-u[b],f),S=Li(y-u[m],v),C=!t.middlewareData.shift;let A=w,z=S;if((i=t.middlewareData.shift)!=null&&i.enabled.x&&(z=v),(n=t.middlewareData.shift)!=null&&n.enabled.y&&(A=f),C&&!g){const L=We(u.left,0),D=We(u.right,0),j=We(u.top,0),W=We(u.bottom,0);d?z=y-2*(L!==0||D!==0?L+D:We(u.left,u.right)):A=h-2*(j!==0||W!==0?j+W:We(u.top,u.bottom))}await l({...t,availableWidth:z,availableHeight:A});const N=await a.getDimensions(s.floating);return y!==N.width||h!==N.height?{reset:{rects:!0}}:{}}}};function Ka(){return typeof window<"u"}function or(e){return Cm(e)?(e.nodeName||"").toLowerCase():"#document"}function Ze(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Ut(e){var t;return(t=(Cm(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Cm(e){return Ka()?e instanceof Node||e instanceof Ze(e).Node:!1}function Ct(e){return Ka()?e instanceof Element||e instanceof Ze(e).Element:!1}function Ot(e){return Ka()?e instanceof HTMLElement||e instanceof Ze(e).HTMLElement:!1}function Vu(e){return!Ka()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Ze(e).ShadowRoot}const Nb=new Set(["inline","contents"]);function go(e){const{overflow:t,overflowX:i,overflowY:n,display:r}=At(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+i)&&!Nb.has(r)}const Mb=new Set(["table","td","th"]);function Ob(e){return Mb.has(or(e))}const Ub=[":popover-open",":modal"];function Xa(e){return Ub.some(t=>{try{return e.matches(t)}catch{return!1}})}const jb=["transform","translate","scale","rotate","perspective"],Bb=["transform","translate","scale","rotate","perspective","filter"],Db=["paint","layout","strict","content"];function id(e){const t=nd(),i=Ct(e)?At(e):e;
vendor: 7,748 bytes, line 66
66return jb.some(n=>i[n]?i[n]!=="none":!1)||(i.containerType?i.containerType!=="normal":!1)||!t&&(i.backdropFilter?i.backdropFilter!=="none":!1)||!t&&(i.filter?i.filter!=="none":!1)||Bb.some(n=>(i.willChange||"").includes(n))||Db.some(n=>(i.contain||"").includes(n))}function Fb(e){let t=Ni(e);for(;Ot(t)&&!Yn(t);){if(id(t))return t;if(Xa(t))return null;t=Ni(t)}return null}function nd(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const _b=new Set(["html","body","#document"]);function Yn(e){return _b.has(or(e))}function At(e){return Ze(e).getComputedStyle(e)}function Ya(e){return Ct(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Ni(e){if(or(e)==="html")return e;const t=e.assignedSlot||e.parentNode||Vu(e)&&e.host||Ut(e);return Vu(t)?t.host:t}function Am(e){const t=Ni(e);return Yn(t)?e.ownerDocument?e.ownerDocument.body:e.body:Ot(t)&&go(t)?t:Am(t)}function Yr(e,t,i){var n;t===void 0&&(t=[]),i===void 0&&(i=!0);const r=Am(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),a=Ze(r);if(o){const s=ql(a);return t.concat(a,a.visualViewport||[],go(r)?r:[],s&&i?Yr(s):[])}return t.concat(r,Yr(r,[],i))}function ql(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Im(e){const t=At(e);let i=parseFloat(t.width)||0,n=parseFloat(t.height)||0;const r=Ot(e),o=r?e.offsetWidth:i,a=r?e.offsetHeight:n,s=Ia(i)!==o||Ia(n)!==a;return s&&(i=o,n=a),{width:i,height:n,$:s}}function rd(e){return Ct(e)?e:e.contextElement}function Un(e){const t=rd(e);if(!Ot(t))return Mt(1);const i=t.getBoundingClientRect(),{width:n,height:r,$:o}=Im(t);let a=(o?Ia(i.width):i.width)/n,s=(o?Ia(i.height):i.height)/r;return(!a||!Number.isFinite(a))&&(a=1),(!s||!Number.isFinite(s))&&(s=1),{x:a,y:s}}const Gb=Mt(0);function km(e){const t=Ze(e);return!nd()||!t.visualViewport?Gb:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Hb(e,t,i){return t===void 0&&(t=!1),!i||t&&i!==Ze(e)?!1:t}function an(e,t,i,n){t===void 0&&(t=!1),i===void 0&&(i=!1);const r=e.getBoundingClientRect(),o=rd(e);let a=Mt(1);t&&(n?Ct(n)&&(a=Un(n)):a=Un(e));const s=Hb(o,i,n)?km(o):Mt(0);let l=(r.left+s.x)/a.x,c=(r.top+s.y)/a.y,u=r.width/a.x,p=r.height/a.y;if(o){const g=Ze(o),d=n&&Ct(n)?Ze(n):n;let y=g,h=ql(y);for(;h&&n&&d!==y;){const b=Un(h),m=h.getBoundingClientRect(),f=At(h),v=m.left+(h.clientLeft+parseFloat(f.paddingLeft))*b.x,w=m.top+(h.clientTop+parseFloat(f.paddingTop))*b.y;l*=b.x,c*=b.y,u*=b.x,p*=b.y,l+=v,c+=w,y=Ze(h),h=ql(y)}}return Ea({width:u,height:p,x:l,y:c})}function od(e,t){const i=Ya(e).scrollLeft;return t?t.left+i:an(Ut(e)).left+i}function Em(e,t,i){i===void 0&&(i=!1);const n=e.getBoundingClientRect(),r=n.left+t.scrollLeft-(i?0:od(e,n)),o=n.top+t.scrollTop;return{x:r,y:o}}function $b(e){let{elements:t,rect:i,offsetParent:n,strategy:r}=e;const o=r==="fixed",a=Ut(n),s=t?Xa(t.floating):!1;if(n===a||s&&o)return i;let l={scrollLeft:0,scrollTop:0},c=Mt(1);const u=Mt(0),p=Ot(n);if((p||!p&&!o)&&((or(n)!=="body"||go(a))&&(l=Ya(n)),Ot(n))){const d=an(n);c=Un(n),u.x=d.x+n.clientLeft,u.y=d.y+n.clientTop}const g=a&&!p&&!o?Em(a,l,!0):Mt(0);return{width:i.width*c.x,height:i.height*c.y,x:i.x*c.x-l.scrollLeft*c.x+u.x+g.x,y:i.y*c.y-l.scrollTop*c.y+u.y+g.y}}function Vb(e){return Array.from(e.getClientRects())}function Wb(e){const t=Ut(e),i=Ya(e),n=e.ownerDocument.body,r=We(t.scrollWidth,t.clientWidth,n.scrollWidth,n.clientWidth),o=We(t.scrollHeight,t.clientHeight,n.scrollHeight,n.clientHeight);let a=-i.scrollLeft+od(e);const s=-i.scrollTop;return At(n).direction==="rtl"&&(a+=We(t.clientWidth,n.clientWidth)-r),{width:r,height:o,x:a,y:s}}function qb(e,t){const i=Ze(e),n=Ut(e),r=i.visualViewport;let o=n.clientWidth,a=n.clientHeight,s=0,l=0;if(r){o=r.width,a=r.height;const c=nd();(!c||c&&t==="fixed")&&(s=r.offsetLeft,l=r.offsetTop)}return{width:o,height:a,x:s,y:l}}const Qb=new Set(["absolute","fixed"]);function Zb(e,t){const i=an(e,!0,t==="fixed"),n=i.top+e.clientTop,r=i.left+e.clientLeft,o=Ot(e)?Un(e):Mt(1),a=e.clientWidth*o.x,s=e.clientHeight*o.y,l=r*o.x,c=n*o.y;return{width:a,height:s,x:l,y:c}}function Wu(e,t,i){let n;if(t==="viewport")n=qb(e,i);else if(t==="document")n=Wb(Ut(e));else if(Ct(t))n=Zb(t,i);else{const r=km(e);n={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return Ea(n)}function Rm(e,t){const i=Ni(e);return i===t||!Ct(i)||Yn(i)?!1:At(i).position==="fixed"||Rm(i,t)}function Kb(e,t){const i=t.get(e);if(i)return i;let n=Yr(e,[],!1).filter(s=>Ct(s)&&or(s)!=="body"),r=null;const o=At(e).position==="fixed";let a=o?Ni(e):e;for(;Ct(a)&&!Yn(a);){const s=At(a),l=id(a);!l&&s.position==="fixed"&&(r=null),(o?!l&&!r:!l&&s.position==="static"&&!!r&&Qb.has(r.position)||go(a)&&!l&&Rm(e,a))?n=n.filter(u=>u!==a):r=s,a=Ni(a)}return t.set(e,n),n}function Xb(e){let{element:t,boundary:i,rootBoundary:n,strategy:r}=e;const a=[...i==="clippingAncestors"?Xa(t)?[]:Kb(t,this._c):[].concat(i),n],s=a[0],l=a.reduce((c,u)=>{const p=Wu(t,u,r);return c.top=We(p.top,c.top),c.right=Li(p.right,c.right),c.bottom=Li(p.bottom,c.bottom),c.left=We(p.left,c.left),c},Wu(t,s,r));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}}function Yb(e){const{width:t,height:i}=Im(e);return{width:t,height:i}}function Jb(e,t,i){const n=Ot(t),r=Ut(t),o=i==="fixed",a=an(e,!0,o,t);let s={scrollLeft:0,scrollTop:0};const l=Mt(0);function c(){l.x=od(r)}if(n||!n&&!o)if((or(t)!=="body"||go(r))&&(s=Ya(t)),n){const d=an(t,!0,o,t);l.x=d.x+t.clientLeft,l.y=d.y+t.clientTop}else r&&c();o&&!n&&r&&c();const u=r&&!n&&!o?Em(r,s):Mt(0),p=a.left+s.scrollLeft-l.x-u.x,g=a.top+s.scrollTop-l.y-u.y;return{x:p,y:g,width:a.width,height:a.height}}function Gs(e){return At(e).position==="static"}function qu(e,t){if(!Ot(e)||At(e).position==="fixed")return null;if(t)return t(e);let i=e.offsetParent;return Ut(e)===i&&(i=i.ownerDocument.body),i}function zm(e,t){const i=Ze(e);if(Xa(e))return i;if(!Ot(e)){let r=Ni(e);for(;r&&!Yn(r);){if(Ct(r)&&!Gs(r))return r;r=Ni(r)}return i}let n=qu(e,t);for(;n&&Ob(n)&&Gs(n);)n=qu(n,t);return n&&Yn(n)&&Gs(n)&&!id(n)?i:n||Fb(e)||i}const ew=async function(e){const t=this.getOffsetParent||zm,i=this.getDimensions,n=await i(e.floating);return{reference:Jb(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function tw(e){return At(e).direction==="rtl"}const iw={convertOffsetParentRelativeRectToViewportRelativeRect:$b,getDocumentElement:Ut,getClippingRect:Xb,getOffsetParent:zm,getElementRects:ew,getClientRects:Vb,getDimensions:Yb,getScale:Un,isElement:Ct,isRTL:tw};function Pm(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function nw(e,t){let i=null,n;const r=Ut(e);function o(){var s;clearTimeout(n),(s=i)==null||s.disconnect(),i=null}function a(s,l){s===void 0&&(s=!1),l===void 0&&(l=1),o();const c=e.getBoundingClientRect(),{left:u,top:p,width:g,height:d}=c;if(s||t(),!g||!d)return;const y=Bo(p),h=Bo(r.clientWidth-(u+g)),b=Bo(r.clientHeight-(p+d)),m=Bo(u),v={rootMargin:-y+"px "+-h+"px "+-b+"px "+-m+"px",threshold:We(0,Li(1,l))||1};let w=!0;function S(C){const A=C[0].intersectionRatio;if(A!==l){if(!w)return a();A?a(!1,A):n=setTimeout(()=>{a(!1,1e-7)},1e3)}A===1&&!Pm(c,e.getBoundingClientRect())&&a(),w=!1}try{i=new IntersectionObserver(S,{...v,root:r.ownerDocument})}catch{i=new IntersectionObserver(S,v)}i.observe(e)}return a(!0),o}function rw(e,t,i,n){n===void 0&&(n={});const{ancestorScroll:r=!0,ancestorResize:o=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:s=typeof IntersectionObserver=="function",animationFrame:l=!1}=n,c=rd(e),u=r||o?[...c?Yr(c):[],...Yr(t)]:[];u.forEach(m=>{r&&m.addEventListener("scroll",i,{passive:!0}),o&&m.addEventListener("resize",i)});const p=c&&s?nw(c,i):null;let g=-1,d=null;
vendor: 8,592 bytes, line 66
66a&&(d=new ResizeObserver(m=>{let[f]=m;f&&f.target===c&&d&&(d.unobserve(t),cancelAnimationFrame(g),g=requestAnimationFrame(()=>{var v;(v=d)==null||v.observe(t)})),i()}),c&&!l&&d.observe(c),d.observe(t));let y,h=l?an(e):null;l&&b();function b(){const m=an(e);h&&!Pm(h,m)&&i(),h=m,y=requestAnimationFrame(b)}return i(),()=>{var m;u.forEach(f=>{r&&f.removeEventListener("scroll",i),o&&f.removeEventListener("resize",i)}),p==null||p(),(m=d)==null||m.disconnect(),d=null,l&&cancelAnimationFrame(y)}}const ow=zb,aw=Pb,sw=kb,lw=Lb,cw=Eb,Qu=Ib,dw=Tb,uw=(e,t,i)=>{const n=new Map,r={platform:iw,...i},o={...r.platform,_c:n};return Ab(e,t,{...r,platform:o})};var pw=typeof document<"u",gw=function(){},ea=pw?x.useLayoutEffect:gw;function Ra(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let i,n,r;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(i=e.length,i!==t.length)return!1;for(n=i;n--!==0;)if(!Ra(e[n],t[n]))return!1;return!0}if(r=Object.keys(e),i=r.length,i!==Object.keys(t).length)return!1;for(n=i;n--!==0;)if(!{}.hasOwnProperty.call(t,r[n]))return!1;for(n=i;n--!==0;){const o=r[n];if(!(o==="_owner"&&e.$$typeof)&&!Ra(e[o],t[o]))return!1}return!0}return e!==e&&t!==t}function Tm(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Zu(e,t){const i=Tm(e);return Math.round(t*i)/i}function Hs(e){const t=x.useRef(e);return ea(()=>{t.current=e}),t}function fw(e){e===void 0&&(e={});const{placement:t="bottom",strategy:i="absolute",middleware:n=[],platform:r,elements:{reference:o,floating:a}={},transform:s=!0,whileElementsMounted:l,open:c}=e,[u,p]=x.useState({x:0,y:0,strategy:i,placement:t,middlewareData:{},isPositioned:!1}),[g,d]=x.useState(n);Ra(g,n)||d(n);const[y,h]=x.useState(null),[b,m]=x.useState(null),f=x.useCallback(E=>{E!==C.current&&(C.current=E,h(E))},[]),v=x.useCallback(E=>{E!==A.current&&(A.current=E,m(E))},[]),w=o||y,S=a||b,C=x.useRef(null),A=x.useRef(null),z=x.useRef(u),N=l!=null,L=Hs(l),D=Hs(r),j=Hs(c),W=x.useCallback(()=>{if(!C.current||!A.current)return;const E={placement:t,strategy:i,middleware:g};D.current&&(E.platform=D.current),uw(C.current,A.current,E).then(R=>{const O={...R,isPositioned:j.current!==!1};M.current&&!Ra(z.current,O)&&(z.current=O,uo.flushSync(()=>{p(O)}))})},[g,t,i,D,j]);ea(()=>{c===!1&&z.current.isPositioned&&(z.current.isPositioned=!1,p(E=>({...E,isPositioned:!1})))},[c]);const M=x.useRef(!1);ea(()=>(M.current=!0,()=>{M.current=!1}),[]),ea(()=>{if(w&&(C.current=w),S&&(A.current=S),w&&S){if(L.current)return L.current(w,S,W);W()}},[w,S,W,L,N]);const Z=x.useMemo(()=>({reference:C,floating:A,setReference:f,setFloating:v}),[f,v]),F=x.useMemo(()=>({reference:w,floating:S}),[w,S]),H=x.useMemo(()=>{const E={position:i,left:0,top:0};if(!F.floating)return E;const R=Zu(F.floating,u.x),O=Zu(F.floating,u.y);return s?{...E,transform:"translate("+R+"px, "+O+"px)",...Tm(F.floating)>=1.5&&{willChange:"transform"}}:{position:i,left:R,top:O}},[i,s,F.floating,u.x,u.y]);return x.useMemo(()=>({...u,update:W,refs:Z,elements:F,floatingStyles:H}),[u,W,Z,F,H])}const mw=e=>{function t(i){return{}.hasOwnProperty.call(i,"current")}return{name:"arrow",options:e,fn(i){const{element:n,padding:r}=typeof e=="function"?e(i):e;return n&&t(n)?n.current!=null?Qu({element:n.current,padding:r}).fn(i):{}:n?Qu({element:n,padding:r}).fn(i):{}}}},hw=(e,t)=>({...ow(e),options:[e,t]}),vw=(e,t)=>({...aw(e),options:[e,t]}),xw=(e,t)=>({...dw(e),options:[e,t]}),yw=(e,t)=>({...sw(e),options:[e,t]}),bw=(e,t)=>({...lw(e),options:[e,t]}),ww=(e,t)=>({...cw(e),options:[e,t]}),Sw=(e,t)=>({...mw(e),options:[e,t]});var Cw="Arrow",Lm=x.forwardRef((e,t)=>{const{children:i,width:n=10,height:r=5,...o}=e;return I.jsx($e.svg,{...o,ref:t,width:n,height:r,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?i:I.jsx("polygon",{points:"0,0 30,0 15,10"})})});Lm.displayName=Cw;var Aw=Lm;function Iw(e){const[t,i]=x.useState(void 0);return Ti(()=>{if(e){i({width:e.offsetWidth,height:e.offsetHeight});const n=new ResizeObserver(r=>{if(!Array.isArray(r)||!r.length)return;const o=r[0];let a,s;if("borderBoxSize"in o){const l=o.borderBoxSize,c=Array.isArray(l)?l[0]:l;a=c.inlineSize,s=c.blockSize}else a=e.offsetWidth,s=e.offsetHeight;i({width:a,height:s})});return n.observe(e,{box:"border-box"}),()=>n.unobserve(e)}else i(void 0)},[e]),t}var Nm="Popper",[Mm,Om]=qa(Nm),[L2,Um]=Mm(Nm),jm="PopperAnchor",Bm=x.forwardRef((e,t)=>{const{__scopePopper:i,virtualRef:n,...r}=e,o=Um(jm,i),a=x.useRef(null),s=St(t,a);return x.useEffect(()=>{o.onAnchorChange((n==null?void 0:n.current)||a.current)}),n?null:I.jsx($e.div,{...r,ref:s})});Bm.displayName=jm;var ad="PopperContent",[kw,Ew]=Mm(ad),Dm=x.forwardRef((e,t)=>{var J,dn,Yt,ji,Jt,un;const{__scopePopper:i,side:n="bottom",sideOffset:r=0,align:o="center",alignOffset:a=0,arrowPadding:s=0,avoidCollisions:l=!0,collisionBoundary:c=[],collisionPadding:u=0,sticky:p="partial",hideWhenDetached:g=!1,updatePositionStrategy:d="optimized",onPlaced:y,...h}=e,b=Um(ad,i),[m,f]=x.useState(null),v=St(t,ei=>f(ei)),[w,S]=x.useState(null),C=Iw(w),A=(C==null?void 0:C.width)??0,z=(C==null?void 0:C.height)??0,N=n+(o!=="center"?"-"+o:""),L=typeof u=="number"?u:{top:0,right:0,bottom:0,left:0,...u},D=Array.isArray(c)?c:[c],j=D.length>0,W={padding:L,boundary:D.filter(zw),altBoundary:j},{refs:M,floatingStyles:Z,placement:F,isPositioned:H,middlewareData:E}=fw({strategy:"fixed",placement:N,whileElementsMounted:(...ei)=>rw(...ei,{animationFrame:d==="always"}),elements:{reference:b.anchor},middleware:[hw({mainAxis:r+z,alignmentAxis:a}),l&&vw({mainAxis:!0,crossAxis:!1,limiter:p==="partial"?xw():void 0,...W}),l&&yw({...W}),bw({...W,apply:({elements:ei,rects:fo,availableWidth:ss,availableHeight:mo})=>{const{width:ls,height:lr}=fo.reference,pn=ei.floating.style;pn.setProperty("--radix-popper-available-width",`${ss}px`),pn.setProperty("--radix-popper-available-height",`${mo}px`),pn.setProperty("--radix-popper-anchor-width",`${ls}px`),pn.setProperty("--radix-popper-anchor-height",`${lr}px`)}}),w&&Sw({element:w,padding:s}),Pw({arrowWidth:A,arrowHeight:z}),g&&ww({strategy:"referenceHidden",...W})]}),[R,O]=Gm(F),$=Pi(y);Ti(()=>{H&&($==null||$())},[H,$]);const B=(J=E.arrow)==null?void 0:J.x,q=(dn=E.arrow)==null?void 0:dn.y,K=((Yt=E.arrow)==null?void 0:Yt.centerOffset)!==0,[fe,Ie]=x.useState();return Ti(()=>{m&&Ie(window.getComputedStyle(m).zIndex)},[m]),I.jsx("div",{ref:M.setFloating,"data-radix-popper-content-wrapper":"",style:{...Z,transform:H?Z.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:fe,"--radix-popper-transform-origin":[(ji=E.transformOrigin)==null?void 0:ji.x,(Jt=E.transformOrigin)==null?void 0:Jt.y].join(" "),...((un=E.hide)==null?void 0:un.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:I.jsx(kw,{scope:i,placedSide:R,onArrowChange:S,arrowX:B,arrowY:q,shouldHideArrow:K,children:I.jsx($e.div,{"data-side":R,"data-align":O,...h,ref:v,style:{...h.style,animation:H?void 0:"none"}})})})});Dm.displayName=ad;var Fm="PopperArrow",Rw={top:"bottom",right:"left",bottom:"top",left:"right"},_m=x.forwardRef(function(t,i){const{__scopePopper:n,...r}=t,o=Ew(Fm,n),a=Rw[o.placedSide];return I.jsx("span",{ref:o.onArrowChange,style:{position:"absolute",left:o.arrowX,top:o.arrowY,[a]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[o.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[o.placedSide],visibility:o.shouldHideArrow?"hidden":void 0},children:I.jsx(Aw,{...r,ref:i,style:{...r.style,display:"block"}})})});_m.displayName=Fm;function zw(e){return e!==null}var Pw=e=>({name:"transformOrigin",options:e,fn(t){var b,m,f;const{placement:i,rects:n,middlewareData:r}=t,a=((b=r.arrow)==null?void 0:b.centerOffset)!==0,s=a?0:e.arrowWidth,l=a?0:e.arrowHeight,[c,u]=Gm(i),p={start:"0%",center:"50%",end:"100%"}[u],g=(((m=r.arrow)==null?void 0:m.x)??0)+s/2,d=(((f=r.arrow)==null?void 0:f.y)??0)+l/2;let y="",h="";return c==="bottom"?(y=a?p:`${g}px`,h=`${-l}px`):c==="top"?(y=a?p:`${g}px`,h=`${n.floating.height+l}px`):c==="right"?(y=`${-l}px`,h=a?p:`${d}px`):c==="left"&&(y=`${n.floating.width+l}px`,h=a?p:`${d}px`),{data:{x:y,y:h}}}});function Gm(e){const[t,i="center"]=e.split("-");return[t,i]}var Tw=Bm,Lw=Dm,Nw=_m,[Ja,N2]=qa("Tooltip",[Om]),sd=Om(),Hm="TooltipProvider",Mw=700,Ku="tooltip.open",[Ow,$m]=Ja(Hm),Vm=e=>{const{__scopeTooltip:t,delayDuration:i=Mw,skipDelayDuration:n=300,disableHoverableContent:r=!1,
vendor: 4,160 bytes, line 66
66children:o}=e,a=x.useRef(!0),s=x.useRef(!1),l=x.useRef(0);return x.useEffect(()=>{const c=l.current;return()=>window.clearTimeout(c)},[]),I.jsx(Ow,{scope:t,isOpenDelayedRef:a,delayDuration:i,onOpen:x.useCallback(()=>{window.clearTimeout(l.current),a.current=!1},[]),onClose:x.useCallback(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(()=>a.current=!0,n)},[n]),isPointerInTransitRef:s,onPointerInTransitChange:x.useCallback(c=>{s.current=c},[]),disableHoverableContent:r,children:o})};Vm.displayName=Hm;var Wm="Tooltip",[M2,es]=Ja(Wm),Ql="TooltipTrigger",Uw=x.forwardRef((e,t)=>{const{__scopeTooltip:i,...n}=e,r=es(Ql,i),o=$m(Ql,i),a=sd(i),s=x.useRef(null),l=St(t,s,r.onTriggerChange),c=x.useRef(!1),u=x.useRef(!1),p=x.useCallback(()=>c.current=!1,[]);return x.useEffect(()=>()=>document.removeEventListener("pointerup",p),[p]),I.jsx(Tw,{asChild:!0,...a,children:I.jsx($e.button,{"aria-describedby":r.open?r.contentId:void 0,"data-state":r.stateAttribute,...n,ref:l,onPointerMove:ve(e.onPointerMove,g=>{g.pointerType!=="touch"&&!u.current&&!o.isPointerInTransitRef.current&&(r.onTriggerEnter(),u.current=!0)}),onPointerLeave:ve(e.onPointerLeave,()=>{r.onTriggerLeave(),u.current=!1}),onPointerDown:ve(e.onPointerDown,()=>{r.open&&r.onClose(),c.current=!0,document.addEventListener("pointerup",p,{once:!0})}),onFocus:ve(e.onFocus,()=>{c.current||r.onOpen()}),onBlur:ve(e.onBlur,r.onClose),onClick:ve(e.onClick,r.onClose)})})});Uw.displayName=Ql;var jw="TooltipPortal",[O2,Bw]=Ja(jw,{forceMount:void 0}),Jn="TooltipContent",qm=x.forwardRef((e,t)=>{const i=Bw(Jn,e.__scopeTooltip),{forceMount:n=i.forceMount,side:r="top",...o}=e,a=es(Jn,e.__scopeTooltip);return I.jsx(Qc,{present:n||a.open,children:a.disableHoverableContent?I.jsx(Qm,{side:r,...o,ref:t}):I.jsx(Dw,{side:r,...o,ref:t})})}),Dw=x.forwardRef((e,t)=>{const i=es(Jn,e.__scopeTooltip),n=$m(Jn,e.__scopeTooltip),r=x.useRef(null),o=St(t,r),[a,s]=x.useState(null),{trigger:l,onClose:c}=i,u=r.current,{onPointerInTransitChange:p}=n,g=x.useCallback(()=>{s(null),p(!1)},[p]),d=x.useCallback((y,h)=>{const b=y.currentTarget,m={x:y.clientX,y:y.clientY},f=$w(m,b.getBoundingClientRect()),v=Vw(m,f),w=Ww(h.getBoundingClientRect()),S=Qw([...v,...w]);s(S),p(!0)},[p]);return x.useEffect(()=>()=>g(),[g]),x.useEffect(()=>{if(l&&u){const y=b=>d(b,u),h=b=>d(b,l);return l.addEventListener("pointerleave",y),u.addEventListener("pointerleave",h),()=>{l.removeEventListener("pointerleave",y),u.removeEventListener("pointerleave",h)}}},[l,u,d,g]),x.useEffect(()=>{if(a){const y=h=>{const b=h.target,m={x:h.clientX,y:h.clientY},f=(l==null?void 0:l.contains(b))||(u==null?void 0:u.contains(b)),v=!qw(m,a);f?g():v&&(g(),c())};return document.addEventListener("pointermove",y),()=>document.removeEventListener("pointermove",y)}},[l,u,a,c,g]),I.jsx(Qm,{...e,ref:o})}),[Fw,_w]=Ja(Wm,{isInside:!1}),Gw=nx("TooltipContent"),Qm=x.forwardRef((e,t)=>{const{__scopeTooltip:i,children:n,"aria-label":r,onEscapeKeyDown:o,onPointerDownOutside:a,...s}=e,l=es(Jn,i),c=sd(i),{onClose:u}=l;return x.useEffect(()=>(document.addEventListener(Ku,u),()=>document.removeEventListener(Ku,u)),[u]),x.useEffect(()=>{if(l.trigger){const p=g=>{const d=g.target;d!=null&&d.contains(l.trigger)&&u()};return window.addEventListener("scroll",p,{capture:!0}),()=>window.removeEventListener("scroll",p,{capture:!0})}},[l.trigger,u]),I.jsx(qc,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:o,onPointerDownOutside:a,onFocusOutside:p=>p.preventDefault(),onDismiss:u,children:I.jsxs(Lw,{"data-state":l.stateAttribute,...c,...s,ref:t,style:{...s.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[I.jsx(Gw,{children:n}),I.jsx(Fw,{scope:i,isInside:!0,children:I.jsx(Rx,{id:l.contentId,role:"tooltip",children:r||n})})]})})});qm.displayName=Jn;var Zm="TooltipArrow",Hw=x.forwardRef((e,t)=>
66{const{__scopeTooltip:i,...n}=e,r=sd(i);return _w(Zm,i).isInside?null:I.jsx(Nw,{...r,...n,ref:t})});Hw.displayName=Zm;function $w(e,t){const i=Math.abs(t.top-e.y),n=Math.abs(t.bottom-e.y),r=Math.abs(t.right-e.x),o=Math.abs(t.left-e.x);switch(Math.min(i,n,r,o)){case o:return"left";case r:return"right";case i:return"top";case n:return"bottom";default:throw new Error("unreachable")}}function Vw(e,t,i=5){const n=[];switch(t){case"top":n.push({x:e.x-i,y:e.y+i},{x:e.x+i,y:e.y+i});break;case"bottom":n.push({x:e.x-i,y:e.y-i},{x:e.x+i,y:e.y-i});break;case"left":n.push({x:e.x+i,y:e.y-i},{x:e.x+i,y:e.y+i});break;case"right":n.push({x:e.x-i,y:e.y-i},{x:e.x-i,y:e.y+i});break}return n}function Ww(e){const{top:t,right:i,bottom:n,left:r}=e;return[{x:r,y:t},{x:i,y:t},{x:i,y:n},{x:r,y:n}]}function qw(e,t){const{x:i,y:n}=e;let r=!1;for(let o=0,a=t.length-1;o<t.length;a=o++){const s=t[o],l=t[a],c=s.x,u=s.y,p=l.x,g=l.y;u>n!=g>n&&i<(p-c)*(n-u)/(g-u)+c&&(r=!r)}return r}function Qw(e){const t=e.slice();return t.sort((i,n)=>i.x<n.x?-1:i.x>n.x?1:i.y<n.y?-1:i.y>n.y?1:0),Zw(t)}function Zw(e){if(e.length<=1)return e.slice();const t=[];for(let n=0;n<e.length;n++){const r=e[n];for(;t.length>=2;){const o=t[t.length-1],a=t[t.length-2];if((o.x-a.x)*(r.y-a.y)>=(o.y-a.y)*(r.x-a.x))t.pop();else break}t.push(r)}t.pop();const i=[];for(let n=e.length-1;n>=0;n--){const r=e[n];for(;i.length>=2;){const o=i[i.length-1],a=i[i.length-2];if((o.x-a.x)*(r.y-a.y)>=(o.y-a.y)*(r.x-a.x))i.pop();else break}i.push(r)}return i.pop(),t.length===1&&i.length===1&&t[0].x===i[0].x&&t[0].y===i[0].y?t:t.concat(i)}var Kw=Vm,Km=qm;const Xw=Kw,Yw=x.forwardRef(({className:e,sideOffset:t=4,...i},n)=>I.jsx(Km,{ref:n,sideOffset:t,className:cn("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...i}));Yw.displayName=Km.displayName;var ts=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},is=typeof window>"u"||"Deno"in globalThis;function ft(){}function Jw(e,t){return typeof e=="function"?e(t):e}function e1(e){return typeof e=="number"&&e>=0&&e!==1/0}function t1(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Zl(e,t){return typeof e=="function"?e(t):e}function i1(e,t){return typeof e=="function"?e(t):e}function Xu(e,t){const{type:i="all",exact:n,fetchStatus:r,predicate:o,queryKey:a,stale:s}=e;if(a){if(n){if(t.queryHash!==ld(a,t.options))return!1}else if(!eo(t.queryKey,a))return!1}if(i!=="all"){const l=t.isActive();if(i==="active"&&!l||i==="inactive"&&l)return!1}return!(typeof s=="boolean"&&t.isStale()!==s||r&&r!==t.state.fetchStatus||o&&!o(t))}function Yu(e,t){const{exact:i,status:n,predicate:r,mutationKey:o}=e;if(o){if(!t.options.mutationKey)return!1;if(i){if(Jr(t.options.mutationKey)!==Jr(o))return!1}else if(!eo(t.options.mutationKey,o))return!1}return!(n&&t.state.status!==n||r&&!r(t))}function ld(e,t){return((t==null?void 0:t.queryKeyHashFn)||Jr)(e)}function Jr(e){return JSON.stringify(e,(t,i)=>Kl(i)?Object.keys(i).sort().reduce((n,r)=>(n[r]=i[r],n),{}):i)}function eo(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(i=>eo(e[i],t[i])):!1}function Xm(e,t){if(e===t)return e;const i=Ju(e)&&Ju(t);if(i||Kl(e)&&Kl(t)){const n=i?e:Object.keys(e),r=n.length,o=i?t:Object.keys(t),a=o.length,s=i?[]:{},l=new Set(n);let c=0;for(let u=0;u<a;u++){const p=i?u:o[u];(!i&&l.has(p)||i)&&e[p]===void 0&&t[p]===void 0?(s[p]=void 0,c++):(s[p]=Xm(e[p],t[p]),s[p]===e[p]&&e[p]!==void 0&&c++)}return r===a&&c===r?e:s}return t}function Ju(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function Kl(e){if(!ep(e))return!1;const t=e.constructor;if(t===void 0)return!0;const i=t.prototype;
vendor: 20,584 bytes, line 66
66return!(!ep(i)||!i.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function ep(e){return Object.prototype.toString.call(e)==="[object Object]"}function n1(e){return new Promise(t=>{setTimeout(t,e)})}function r1(e,t,i){return typeof i.structuralSharing=="function"?i.structuralSharing(e,t):i.structuralSharing!==!1?Xm(e,t):t}function o1(e,t,i=0){const n=[...e,t];return i&&n.length>i?n.slice(1):n}function a1(e,t,i=0){const n=[t,...e];return i&&n.length>i?n.slice(0,-1):n}var cd=Symbol();function Ym(e,t){return!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===cd?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}var Vi,pi,jn,up,s1=(up=class extends ts{constructor(){super();Y(this,Vi);Y(this,pi);Y(this,jn);G(this,jn,t=>{if(!is&&window.addEventListener){const i=()=>t();return window.addEventListener("visibilitychange",i,!1),()=>{window.removeEventListener("visibilitychange",i)}}})}onSubscribe(){k(this,pi)||this.setEventListener(k(this,jn))}onUnsubscribe(){var t;this.hasListeners()||((t=k(this,pi))==null||t.call(this),G(this,pi,void 0))}setEventListener(t){var i;G(this,jn,t),(i=k(this,pi))==null||i.call(this),G(this,pi,t(n=>{typeof n=="boolean"?this.setFocused(n):this.onFocus()}))}setFocused(t){k(this,Vi)!==t&&(G(this,Vi,t),this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(i=>{i(t)})}isFocused(){var t;return typeof k(this,Vi)=="boolean"?k(this,Vi):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},Vi=new WeakMap,pi=new WeakMap,jn=new WeakMap,up),Jm=new s1,Bn,gi,Dn,pp,l1=(pp=class extends ts{constructor(){super();Y(this,Bn,!0);Y(this,gi);Y(this,Dn);G(this,Dn,t=>{if(!is&&window.addEventListener){const i=()=>t(!0),n=()=>t(!1);return window.addEventListener("online",i,!1),window.addEventListener("offline",n,!1),()=>{window.removeEventListener("online",i),window.removeEventListener("offline",n)}}})}onSubscribe(){k(this,gi)||this.setEventListener(k(this,Dn))}onUnsubscribe(){var t;this.hasListeners()||((t=k(this,gi))==null||t.call(this),G(this,gi,void 0))}setEventListener(t){var i;G(this,Dn,t),(i=k(this,gi))==null||i.call(this),G(this,gi,t(this.setOnline.bind(this)))}setOnline(t){k(this,Bn)!==t&&(G(this,Bn,t),this.listeners.forEach(n=>{n(t)}))}isOnline(){return k(this,Bn)}},Bn=new WeakMap,gi=new WeakMap,Dn=new WeakMap,pp),za=new l1;function c1(){let e,t;const i=new Promise((r,o)=>{e=r,t=o});i.status="pending",i.catch(()=>{});function n(r){Object.assign(i,r),delete i.resolve,delete i.reject}return i.resolve=r=>{n({status:"fulfilled",value:r}),e(r)},i.reject=r=>{n({status:"rejected",reason:r}),t(r)},i}function d1(e){return Math.min(1e3*2**e,3e4)}function eh(e){return(e??"online")==="online"?za.isOnline():!0}var th=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function $s(e){return e instanceof th}function ih(e){let t=!1,i=0,n=!1,r;const o=c1(),a=h=>{var b;n||(g(new th(h)),(b=e.abort)==null||b.call(e))},s=()=>{t=!0},l=()=>{t=!1},c=()=>Jm.isFocused()&&(e.networkMode==="always"||za.isOnline())&&e.canRun(),u=()=>eh(e.networkMode)&&e.canRun(),p=h=>{var b;n||(n=!0,(b=e.onSuccess)==null||b.call(e,h),r==null||r(),o.resolve(h))},g=h=>{var b;n||(n=!0,(b=e.onError)==null||b.call(e,h),r==null||r(),o.reject(h))},d=()=>new Promise(h=>{var b;r=m=>{(n||c())&&h(m)},(b=e.onPause)==null||b.call(e)}).then(()=>{var h;r=void 0,n||(h=e.onContinue)==null||h.call(e)}),y=()=>{if(n)return;let h;const b=i===0?e.initialPromise:void 0;try{h=b??e.fn()}catch(m){h=Promise.reject(m)}Promise.resolve(h).then(p).catch(m=>{var C;if(n)return;const f=e.retry??(is?0:3),v=e.retryDelay??d1,w=typeof v=="function"?v(i,m):v,S=f===!0||typeof f=="number"&&i<f||typeof f=="function"&&f(i,m);if(t||!S){g(m);return}i++,(C=e.onFail)==null||C.call(e,i,m),n1(w).then(()=>c()?void 0:d()).then(()=>{t?g(m):y()})})};return{promise:o,cancel:a,continue:()=>(r==null||r(),o),cancelRetry:s,continueRetry:l,canStart:u,start:()=>(u()?y():d().then(y),o)}}var u1=e=>setTimeout(e,0);function p1(){let e=[],t=0,i=s=>{s()},n=s=>{s()},r=u1;const o=s=>{t?e.push(s):r(()=>{i(s)})},a=()=>{const s=e;e=[],s.length&&r(()=>{n(()=>{s.forEach(l=>{i(l)})})})};return{batch:s=>{let l;t++;try{l=s()}finally{t--,t||a()}return l},batchCalls:s=>(...l)=>{o(()=>{s(...l)})},schedule:o,setNotifyFunction:s=>{i=s},setBatchNotifyFunction:s=>{n=s},setScheduler:s=>{r=s}}}var Me=p1(),Wi,gp,nh=(gp=class{constructor(){Y(this,Wi)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),e1(this.gcTime)&&G(this,Wi,setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(is?1/0:5*60*1e3))}clearGcTimeout(){k(this,Wi)&&(clearTimeout(k(this,Wi)),G(this,Wi,void 0))}},Wi=new WeakMap,gp),Fn,qi,tt,Qi,ze,no,Zi,mt,Bt,fp,g1=(fp=class extends nh{constructor(t){super();Y(this,mt);Y(this,Fn);Y(this,qi);Y(this,tt);Y(this,Qi);Y(this,ze);Y(this,no);Y(this,Zi);G(this,Zi,!1),G(this,no,t.defaultOptions),this.setOptions(t.options),this.observers=[],G(this,Qi,t.client),G(this,tt,k(this,Qi).getQueryCache()),this.queryKey=t.queryKey,this.queryHash=t.queryHash,G(this,Fn,m1(this.options)),this.state=t.state??k(this,Fn),this.scheduleGc()}get meta(){return this.options.meta}get promise(){var t;return(t=k(this,ze))==null?void 0:t.promise}setOptions(t){this.options={...k(this,no),...t},this.updateGcTime(this.options.gcTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&k(this,tt).remove(this)}setData(t,i){const n=r1(this.state.data,t,this.options);return ke(this,mt,Bt).call(this,{data:n,type:"success",dataUpdatedAt:i==null?void 0:i.updatedAt,manual:i==null?void 0:i.manual}),n}setState(t,i){ke(this,mt,Bt).call(this,{type:"setState",state:t,setStateOptions:i})}cancel(t){var n,r;const i=(n=k(this,ze))==null?void 0:n.promise;return(r=k(this,ze))==null||r.cancel(t),i?i.then(ft).catch(ft):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(k(this,Fn))}isActive(){return this.observers.some(t=>i1(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===cd||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>Zl(t.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){return this.state.data===void 0?!0:t==="static"?!1:this.state.isInvalidated?!0:!t1(this.state.dataUpdatedAt,t)}onFocus(){var i;const t=this.observers.find(n=>n.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(i=k(this,ze))==null||i.continue()}onOnline(){var i;const t=this.observers.find(n=>n.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(i=k(this,ze))==null||i.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),k(this,tt).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(i=>i!==t),this.observers.length||(k(this,ze)&&(k(this,Zi)?k(this,ze).cancel({revert:!0}):k(this,ze).cancelRetry()),this.scheduleGc()),k(this,tt).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||ke(this,mt,Bt).call(this,{type:"invalidate"})}fetch(t,i){var c,u,p;if(this.state.fetchStatus!=="idle"){if(this.state.data!==void 0&&(i!=null&&i.cancelRefetch))this.cancel({silent:!0});else if(k(this,ze))return k(this,ze).continueRetry(),k(this,ze).promise}if(t&&this.setOptions(t),!this.options.queryFn){const g=this.observers.find(d=>d.options.queryFn);g&&this.setOptions(g.options)}const n=new AbortController,r=g=>{Object.defineProperty(g,"signal",{enumerable:!0,get:()=>(G(this,Zi,!0),n.signal)})},o=()=>{const g=Ym(this.options,i),y=(()=>{const h={client:k(this,Qi),queryKey:this.queryKey,meta:this.meta};return r(h),h})();return G(this,Zi,!1),this.options.persister?this.options.persister(g,y,this):g(y)},s=(()=>{const g={fetchOptions:i,options:this.options,queryKey:this.queryKey,client:k(this,Qi),state:this.state,fetchFn:o};return r(g),g})();(c=this.options.behavior)==null||c.onFetch(s,this),G(this,qi,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((u=s.fetchOptions)==null?void 0:u.meta))&&ke(this,mt,Bt).call(this,{type:"fetch",meta:(p=s.fetchOptions)==null?void 0:p.meta});const l=g=>{var d,y,h,b;$s(g)&&g.silent||ke(this,mt,Bt).call(this,{type:"error",error:g}),$s(g)||((y=(d=k(this,tt).config).onError)==null||y.call(d,g,this),(b=(h=k(this,tt).config).onSettled)==null||b.call(h,this.state.data,g,this)),this.scheduleGc()};return G(this,ze,ih({initialPromise:i==null?void 0:i.initialPromise,fn:s.fetchFn,abort:n.abort.bind(n),onSuccess:g=>{var d,y,h,b;if(g===void 0){l(new Error(`${this.queryHash} data is undefined`));return}try{this.setData(g)}catch(m){l(m);return}(y=(d=k(this,tt).config).onSuccess)==null||y.call(d,g,this),(b=(h=k(this,tt).config).onSettled)==null||b.call(h,g,this.state.error,this),this.scheduleGc()},onError:l,onFail:(g,d)=>{ke(this,mt,Bt).call(this,{type:"failed",failureCount:g,error:d})},onPause:()=>{ke(this,mt,Bt).call(this,{type:"pause"})},onContinue:()=>{ke(this,mt,Bt).call(this,{type:"continue"})},retry:s.options.retry,retryDelay:s.options.retryDelay,networkMode:s.options.networkMode,canRun:()=>!0})),k(this,ze).start()}},Fn=new WeakMap,qi=new WeakMap,tt=new WeakMap,Qi=new WeakMap,ze=new WeakMap,no=new WeakMap,Zi=new WeakMap,mt=new WeakSet,Bt=function(t){const i=n=>{switch(t.type){case"failed":return{...n,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...n,fetchStatus:"paused"};case"continue":return{...n,fetchStatus:"fetching"};case"fetch":return{...n,...f1(n.data,this.options),fetchMeta:t.meta??null};case"success":return G(this,qi,void 0),{...n,data:t.data,dataUpdateCount:n.dataUpdateCount+1,dataUpdatedAt:t.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const r=t.error;return $s(r)&&r.revert&&k(this,qi)?{...k(this,qi),fetchStatus:"idle"}:{...n,error:r,errorUpdateCount:n.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:n.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:"idle",status:"error"};case"invalidate":return{...n,isInvalidated:!0};case"setState":return{...n,...t.state}}};this.state=i(this.state),Me.batch(()=>{this.observers.forEach(n=>{n.onQueryUpdate()}),k(this,tt).notify({query:this,type:"updated",action:t})})},fp);function f1(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:eh(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function m1(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,i=t!==void 0,n=i?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:i?n??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:i?"success":"pending",fetchStatus:"idle"}}var Et,mp,h1=(mp=class extends ts{constructor(t={}){super();Y(this,Et);this.config=t,G(this,Et,new Map)}build(t,i,n){const r=i.queryKey,o=i.queryHash??ld(r,i);let a=this.get(o);return a||(a=new g1({client:t,queryKey:r,queryHash:o,options:t.defaultQueryOptions(i),state:n,defaultOptions:t.getQueryDefaults(r)}),this.add(a)),a}add(t){k(this,Et).has(t.queryHash)||(k(this,Et).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const i=k(this,Et).get(t.queryHash);i&&(t.destroy(),i===t&&k(this,Et).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){Me.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return k(this,Et).get(t)}getAll(){return[...k(this,Et).values()]}find(t){const i={exact:!0,...t};return this.getAll().find(n=>Xu(i,n))}findAll(t={}){const i=this.getAll();return Object.keys(t).length>0?i.filter(n=>Xu(t,n)):i}notify(t){Me.batch(()=>{this.listeners.forEach(i=>{i(t)})})}onFocus(){Me.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){Me.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},Et=new WeakMap,mp),Rt,Le,Ki,zt,si,hp,v1=(hp=class extends nh{constructor(t){super();Y(this,zt);Y(this,Rt);Y(this,Le);Y(this,Ki);this.mutationId=t.mutationId,G(this,Le,t.mutationCache),G(this,Rt,[]),this.state=t.state||x1(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){k(this,Rt).includes(t)||(k(this,Rt).push(t),this.clearGcTimeout(),k(this,Le).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){G(this,Rt,k(this,Rt).filter(i=>i!==t)),this.scheduleGc(),k(this,Le).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){k(this,Rt).length||(this.state.status==="pending"?this.scheduleGc():k(this,Le).remove(this))}continue(){var t;return((t=k(this,Ki))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var o,a,s,l,c,u,p,g,d,y,h,b,m,f,v,w,S,C,A,z;const i=()=>{ke(this,zt,si).call(this,{type:"continue"})};G(this,Ki,ih({fn:()=>this.options.mutationFn?this.options.mutationFn(t):Promise.reject(new Error("No mutationFn found")),onFail:(N,L)=>{ke(this,zt,si).call(this,{type:"failed",failureCount:N,error:L})},onPause:()=>{ke(this,zt,si).call(this,{type:"pause"})},onContinue:i,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>k(this,Le).canRun(this)}));const n=this.state.status==="pending",r=!k(this,Ki).canStart();try{if(n)i();else{ke(this,zt,si).call(this,{type:"pending",variables:t,isPaused:r}),await((a=(o=k(this,Le).config).onMutate)==null?void 0:a.call(o,t,this));const L=await((l=(s=this.options).onMutate)==null?void 0:l.call(s,t));L!==this.state.context&&ke(this,zt,si).call(this,{type:"pending",context:L,variables:t,isPaused:r})}const N=await k(this,Ki).start();return await((u=(c=k(this,Le).config).onSuccess)==null?void 0:u.call(c,N,t,this.state.context,this)),await((g=(p=this.options).onSuccess)==null?void 0:g.call(p,N,t,this.state.context)),await((y=(d=k(this,Le).config).onSettled)==null?void 0:y.call(d,N,null,this.state.variables,this.state.context,this)),await((b=(h=this.options).onSettled)==null?void 0:b.call(h,N,null,t,this.state.context)),ke(this,zt,si).call(this,{type:"success",data:N}),N}catch(N){try{throw await((f=(m=k(this,Le).config).onError)==null?void 0:f.call(m,N,t,this.state.context,this)),await((w=(v=this.options).onError)==null?void 0:w.call(v,N,t,this.state.context)),await((C=(S=k(this,Le).config).onSettled)==null?void 0:C.call(S,void 0,N,this.state.variables,this.state.context,this)),await((z=(A=this.options).onSettled)==null?void 0:z.call(A,void 0,N,t,this.state.context)),N}finally{ke(this,zt,si).call(this,{type:"error",error:N})}}finally{k(this,Le).runNext(this)}}},Rt=new WeakMap,Le=new WeakMap,Ki=new WeakMap,zt=new WeakSet,si=function(t){const i=n=>{switch(t.type){case"failed":return{...n,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...n,isPaused:!0};case"continue":return{...n,isPaused:!1};case"pending":return{...n,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...n,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...n,data:void 0,error:t.error,failureCount:n.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=i(this.state),Me.batch(()=>{k(this,Rt).forEach(n=>{n.onMutationUpdate(t)}),k(this,Le).notify({mutation:this,type:"updated",action:t})})},hp);function x1(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var _t,ht,ro,vp,y1=(vp=class extends ts{constructor(t={}){super();Y(this,_t);Y(this,ht);Y(this,ro);this.config=t,G(this,_t,new Set),G(this,ht,new Map),G(this,ro,0)}build(t,i,n){const r=new v1({mutationCache:this,mutationId:++vo(this,ro)._,options:t.defaultMutationOptions(i),state:n});return this.add(r),r}add(t){k(this,_t).add(t);const i=Do(t);if(typeof i=="string"){const n=k(this,ht).get(i);n?n.push(t):k(this,ht).set(i,[t])}this.notify({type:"added",mutation:t})}remove(t){if(k(this,_t).delete(t)){const i=Do(t);if(typeof i=="string"){const n=k(this,ht).get(i);if(n)if(n.length>1){const r=n.indexOf(t);r!==-1&&n.splice(r,1)}else n[0]===t&&k(this,ht).delete(i)}}this.notify({type:"removed",mutation:t})}canRun(t){const i=Do(t);if(typeof i=="string"){const n=k(this,ht).get(i),r=n==null?void 0:n.find(o=>o.state.status==="pending");return!r||r===t}else return!0}runNext(t){var n;const i=Do(t);if(typeof i=="string"){const r=(n=k(this,ht).get(i))==null?void 0:n.find(o=>o!==t&&o.state.isPaused);return(r==null?void 0:r.continue())??Promise.resolve()}else return Promise.resolve()}clear(){Me.batch(()=>{k(this,_t).forEach(t=>{this.notify({type:"removed",mutation:t})}),k(this,_t).clear(),k(this,ht).clear()})}getAll(){return Array.from(k(this,_t))}find(t){const i={exact:!0,...t};return this.getAll().find(n=>Yu(i,n))}findAll(t={}){return this.getAll().filter(i=>Yu(t,i))}notify(t){Me.batch(()=>{this.listeners.forEach(i=>{i(t)})})}resumePausedMutations(){const t=this.getAll().filter(i=>i.state.isPaused);return Me.batch(()=>Promise.all(t.map(i=>i.continue().catch(ft))))}},_t=new WeakMap,ht=new WeakMap,ro=new WeakMap,vp);function Do(e){var t;return(t=e.options.scope)==null?void 0:t.id}function tp(e){return{onFetch:(t,i)=>{var u,p,g,d,y;const n=t.options,r=(g=(p=(u=t.fetchOptions)==null?void 0:u.meta)==null?void 0:p.fetchMore)==null?void 0:g.direction,o=((d=t.state.data)==null?void 0:d.pages)||[],a=((y=t.state.data)==null?void 0:y.pageParams)||[];let s={pages:[],pageParams:[]},l=0;const c=async()=>{let h=!1;const b=v=>{Object.defineProperty(v,"signal",{enumerable:!0,get:()=>(t.signal.aborted?h=!0:t.signal.addEventListener("abort",()=>{h=!0}),t.signal)})},m=Ym(t.options,t.fetchOptions),f=async(v,w,S)=>{if(h)return Promise.reject();if(w==null&&v.pages.length)return Promise.resolve(v);const A=(()=>{const D={client:t.client,queryKey:t.queryKey,pageParam:w,direction:S?"backward":"forward",meta:t.options.meta};return b(D),D})(),z=await m(A),{maxPages:N}=t.options,L=S?a1:o1;return{pages:L(v.pages,z,N),pageParams:L(v.pageParams,w,N)}};if(r&&o.length){const v=r==="backward",w=v?b1:ip,S={pages:o,pageParams:a},C=w(n,S);s=await f(S,C,v)}else{const v=e??o.length;do{const w=l===0?a[0]??n.initialPageParam:ip(n,s);if(l>0&&w==null)break;s=await f(s,w),l++}while(l<v)}return s};t.options.persister?t.fetchFn=()=>{var h,b;return(b=(h=t.options).persister)==null?void 0:b.call(h,c,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},i)}:t.fetchFn=c}}}function ip(e,{pages:t,pageParams:i}){const n=t.length-1;return t.length>0?e.getNextPageParam(t[n],t,i[n],i):void 0}function b1(e,{pages:t,pageParams:i}){var n;return t.length>0?(n=e.getPreviousPageParam)==null?void 0:n.call(e,t[0],t,i[0],i):void 0}var ue,fi,mi,_n,Gn,hi,Hn,$n,xp,w1=(xp=class{constructor(e={}){Y(this,ue);Y(this,fi);Y(this,mi);Y(this,_n);Y(this,Gn);Y(this,hi);Y(this,Hn);Y(this,$n);G(this,ue,e.queryCache||new h1),G(this,fi,e.mutationCache||new y1),G(this,mi,e.defaultOptions||{}),G(this,_n,new Map),G(this,Gn,new Map),G(this,hi,0)}mount(){vo(this,hi)._++,k(this,hi)===1&&(G(this,Hn,Jm.subscribe(async e=>{e&&(await this.resumePausedMutations(),k(this,ue).onFocus())})),G(this,$n,za.subscribe(async e=>{e&&(await this.resumePausedMutations(),k(this,ue).onOnline())})))}unmount(){var e,t;vo(this,hi)._--,k(this,hi)===0&&((e=k(this,Hn))==null||e.call(this),G(this,Hn,void 0),(t=k(this,$n))==null||t.call(this),G(this,$n,void 0))}isFetching(e){return k(this,ue).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return k(this,fi).findAll({...e,status:"pending"}).length}getQueryData(e){var i;const t=this.defaultQueryOptions({queryKey:e});return(i=k(this,ue).get(t.queryHash))==null?void 0:i.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),i=k(this,ue).build(this,t),n=i.state.data;return n===void 0?this.fetchQuery(e):(e.revalidateIfStale&&i.isStaleByTime(Zl(t.
66staleTime,i))&&this.prefetchQuery(t),Promise.resolve(n))}getQueriesData(e){return k(this,ue).findAll(e).map(({queryKey:t,state:i})=>{const n=i.data;return[t,n]})}setQueryData(e,t,i){const n=this.defaultQueryOptions({queryKey:e}),r=k(this,ue).get(n.queryHash),o=r==null?void 0:r.state.data,a=Jw(t,o);if(a!==void 0)return k(this,ue).build(this,n).setData(a,{...i,manual:!0})}setQueriesData(e,t,i){return Me.batch(()=>k(this,ue).findAll(e).map(({queryKey:n})=>[n,this.setQueryData(n,t,i)]))}getQueryState(e){var i;const t=this.defaultQueryOptions({queryKey:e});return(i=k(this,ue).get(t.queryHash))==null?void 0:i.state}removeQueries(e){const t=k(this,ue);Me.batch(()=>{t.findAll(e).forEach(i=>{t.remove(i)})})}resetQueries(e,t){const i=k(this,ue);return Me.batch(()=>(i.findAll(e).forEach(n=>{n.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const i={revert:!0,...t},n=Me.batch(()=>k(this,ue).findAll(e).map(r=>r.cancel(i)));return Promise.all(n).then(ft).catch(ft)}invalidateQueries(e,t={}){return Me.batch(()=>(k(this,ue).findAll(e).forEach(i=>{i.invalidate()}),(e==null?void 0:e.refetchType)==="none"?Promise.resolve():this.refetchQueries({...e,type:(e==null?void 0:e.refetchType)??(e==null?void 0:e.type)??"active"},t)))}refetchQueries(e,t={}){const i={...t,cancelRefetch:t.cancelRefetch??!0},n=Me.batch(()=>k(this,ue).findAll(e).filter(r=>!r.isDisabled()&&!r.isStatic()).map(r=>{let o=r.fetch(void 0,i);return i.throwOnError||(o=o.catch(ft)),r.state.fetchStatus==="paused"?Promise.resolve():o}));return Promise.all(n).then(ft)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const i=k(this,ue).build(this,t);return i.isStaleByTime(Zl(t.staleTime,i))?i.fetch(t):Promise.resolve(i.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(ft).catch(ft)}fetchInfiniteQuery(e){return e.behavior=tp(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(ft).catch(ft)}ensureInfiniteQueryData(e){return e.behavior=tp(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return za.isOnline()?k(this,fi).resumePausedMutations():Promise.resolve()}getQueryCache(){return k(this,ue)}getMutationCache(){return k(this,fi)}getDefaultOptions(){return k(this,mi)}setDefaultOptions(e){G(this,mi,e)}setQueryDefaults(e,t){k(this,_n).set(Jr(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...k(this,_n).values()],i={};return t.forEach(n=>{eo(e,n.queryKey)&&Object.assign(i,n.defaultOptions)}),i}setMutationDefaults(e,t){k(this,Gn).set(Jr(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...k(this,Gn).values()],i={};return t.forEach(n=>{eo(e,n.mutationKey)&&Object.assign(i,n.defaultOptions)}),i}defaultQueryOptions(e){if(e._defaulted)return e;const t={...k(this,mi).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=ld(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===cd&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...k(this,mi).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){k(this,ue).clear(),k(this,fi).clear()}},ue=new WeakMap,fi=new WeakMap,mi=new WeakMap,_n=new WeakMap,Gn=new WeakMap,hi=new WeakMap,Hn=new WeakMap,$n=new WeakMap,xp),S1=x.createContext(void 0),C1=({client:e,children:t})=>(x.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),I.jsx(S1.Provider,{value:e,children:t}));/**
67 * @remix-run/router v1.23.0
68 *
69 * Copyright (c) Remix Software Inc.
70 *
71 * This source code is licensed under the MIT license found in the
72 * LICENSE.md file in the root directory of this source tree.
73 *
74 * @license MIT
75 */function to(){return to=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},to.apply(this,arguments)}var yi;(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(yi||(yi={}));const np="popstate";function A1(e){e===void 0&&(e={});function t(n,r){let{pathname:o,search:a,hash:s}=n.location;return Xl("",{pathname:o,search:a,hash:s},r.state&&r.state.usr||null,r.state&&r.state.key||"default")}function i(n,r){return typeof r=="string"?r:oh(r)}return k1(t,i,null,e)}function ye(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function rh(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function I1(){return Math.random().toString(36).substr(2,8)}function rp(e,t){return{usr:e.state,key:e.key,idx:t}}function Xl(e,t,i,n){return i===void 0&&(i=null),to({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?ar(t):t,{state:i,key:t&&t.key||n||I1()})}function oh(e){let{pathname:t="/",search:i="",hash:n=""}=e;return i&&i!=="?"&&(t+=i.charAt(0)==="?"?i:"?"+i),n&&n!=="#"&&(t+=n.charAt(0)==="#"?n:"#"+n),t}function ar(e){let t={};if(e){let i=e.indexOf("#");i>=0&&(t.hash=e.substr(i),e=e.substr(0,i));let n=e.indexOf("?");n>=0&&(t.search=e.substr(n),e=e.substr(0,n)),e&&(t.pathname=e)}return t}function k1(e,t,i,n){n===void 0&&(n={});let{window:r=document.defaultView,v5Compat:o=!1}=n,a=r.history,s=yi.Pop,l=null,c=u();c==null&&(c=0,a.replaceState(to({},a.state,{idx:c}),""));function u(){return(a.state||{idx:null}).idx}function p(){s=yi.Pop;let b=u(),m=b==null?null:b-c;c=b,l&&l({action:s,location:h.location,delta:m})}function g(b,m){s=yi.Push;let f=Xl(h.location,b,m);c=u()+1;let v=rp(f,c),w=h.createHref(f);try{a.pushState(v,"",w)}catch(S){if(S instanceof DOMException&&S.name==="DataCloneError")throw S;r.location.assign(w)}o&&l&&l({action:s,location:h.location,delta:1})}function d(b,m){s=yi.Replace;let f=Xl(h.location,b,m);c=u();let v=rp(f,c),w=h.createHref(f);a.replaceState(v,"",w),o&&l&&l({action:s,location:h.location,delta:0})}function y(b){let m=r.location.origin!=="null"?r.location.origin:r.location.href,f=typeof b=="string"?b:oh(b);return f=f.replace(/ $/,"%20"),ye(m,"No window.location.(origin|href) available to create URL for href: "+f),new URL(f,m)}let h={get action(){return s},get location(){return e(r,a)},listen(b){if(l)throw new Error("A history only accepts one active listener");return r.addEventListener(np,p),l=b,()=>{r.removeEventListener(np,p),l=null}},createHref(b){return t(r,b)},createURL:y,encodeLocation(b){let m=y(b);return{pathname:m.pathname,search:m.search,hash:m.hash}},push:g,replace:d,go(b){return a.go(b)}};return h}var op;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(op||(op={}));function E1(e,t,i){return i===void 0&&(i="/"),R1(e,t,i,!1)}function R1(e,t,i,n){let r=typeof t=="string"?ar(t):t,o=lh(r.pathname||"/",i);if(o==null)return null;let a=ah(e);z1(a);let s=null;for(let l=0;s==null&&l<a.length;++l){let c=F1(o);s=B1(a[l],c,n)}return s}function ah(e,t,i,n){t===void 0&&(t=[]),i===void 0&&(i=[]),n===void 0&&(n="");let r=(o,a,s)=>{let l={relativePath:s===void 0?o.path||"":s,caseSensitive:o.caseSensitive===!0,childrenIndex:a,route:o};l.relativePath.startsWith("/")&&(ye(l.relativePath.startsWith(n),'Absolute route path "'+l.relativePath+'" nested under path '+('"'+n+'" is not val
75id. An absolute child route path ')+"must start with the combined path of all its parent routes."),l.relativePath=l.relativePath.slice(n.length));let c=Ji([n,l.relativePath]),u=i.concat(l);o.children&&o.children.length>0&&(ye(o.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+c+'".')),ah(o.children,t,u,c)),!(o.path==null&&!o.index)&&t.push({path:c,score:U1(c,o.index),routesMeta:u})};return e.forEach((o,a)=>{var s;if(o.path===""||!((s=o.path)!=null&&s.includes("?")))r(o,a);else for(let l of sh(o.path))r(o,a,l)}),t}function sh(e){let t=e.split("/");if(t.length===0)return[];let[i,...n]=t,r=i.endsWith("?"),o=i.replace(/\?$/,"");if(n.length===0)return r?[o,""]:[o];let a=sh(n.join("/")),s=[];return s.push(...a.map(l=>l===""?o:[o,l].join("/"))),r&&s.push(...a),s.map(l=>e.startsWith("/")&&l===""?"/":l)}function z1(e){e.sort((t,i)=>t.score!==i.score?i.score-t.score:j1(t.routesMeta.map(n=>n.childrenIndex),i.routesMeta.map(n=>n.childrenIndex)))}const P1=/^:[\w-]+$/,T1=3,L1=2,N1=1,M1=10,O1=-2,ap=e=>e==="*";function U1(e,t){let i=e.split("/"),n=i.length;return i.some(ap)&&(n+=O1),t&&(n+=L1),i.filter(r=>!ap(r)).reduce((r,o)=>r+(P1.test(o)?T1:o===""?N1:M1),n)}function j1(e,t){return e.length===t.length&&e.slice(0,-1).every((n,r)=>n===t[r])?e[e.length-1]-t[t.length-1]:0}function B1(e,t,i){let{routesMeta:n}=e,r={},o="/",a=[];for(let s=0;s<n.length;++s){let l=n[s],c=s===n.length-1,u=o==="/"?t:t.slice(o.length)||"/",p=sp({path:l.relativePath,caseSensitive:l.caseSensitive,end:c},u),g=l.route;if(!p&&c&&i&&!n[n.length-1].route.index&&(p=sp({path:l.relativePath,caseSensitive:l.caseSensitive,end:!1},u)),!p)return null;
vendor: 6,356 bytes, lines 75-84
75Object.assign(r,p.params),a.push({params:r,pathname:Ji([o,p.pathname]),pathnameBase:W1(Ji([o,p.pathnameBase])),route:g}),p.pathnameBase!=="/"&&(o=Ji([o,p.pathnameBase]))}return a}function sp(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[i,n]=D1(e.path,e.caseSensitive,e.end),r=t.match(i);if(!r)return null;let o=r[0],a=o.replace(/(.)\/+$/,"$1"),s=r.slice(1);return{params:n.reduce((c,u,p)=>{let{paramName:g,isOptional:d}=u;if(g==="*"){let h=s[p]||"";a=o.slice(0,o.length-h.length).replace(/(.)\/+$/,"$1")}const y=s[p];return d&&!y?c[g]=void 0:c[g]=(y||"").replace(/%2F/g,"/"),c},{}),pathname:o,pathnameBase:a,pattern:e}}function D1(e,t,i){t===void 0&&(t=!1),i===void 0&&(i=!0),rh(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let n=[],r="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(a,s,l)=>(n.push({paramName:s,isOptional:l!=null}),l?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(n.push({paramName:"*"}),r+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):i?r+="\\/*$":e!==""&&e!=="/"&&(r+="(?:(?=\\/|$))"),[new RegExp(r,t?void 0:"i"),n]}function F1(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return rh(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function lh(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let i=t.endsWith("/")?t.length-1:t.length,n=e.charAt(i);return n&&n!=="/"?null:e.slice(i)||"/"}function _1(e,t){t===void 0&&(t="/");let{pathname:i,search:n="",hash:r=""}=typeof e=="string"?ar(e):e;return{pathname:i?i.startsWith("/")?i:G1(i,t):t,search:q1(n),hash:Q1(r)}}function G1(e,t){let i=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(r=>{r===".."?i.length>1&&i.pop():r!=="."&&i.push(r)}),i.length>1?i.join("/"):"/"}function Vs(e,t,i,n){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(n)+"].  Please separate it out to the ")+("`to."+i+"` field. Alternatively you may provide the full path as ")+'a string in <Link to="..."> and the router will parse it for you.'}function H1(e){return e.filter((t,i)=>i===0||t.route.path&&t.route.path.length>0)}function $1(e,t){let i=H1(e);return t?i.map((n,r)=>r===i.length-1?n.pathname:n.pathnameBase):i.map(n=>n.pathnameBase)}function V1(e,t,i,n){n===void 0&&(n=!1);let r;typeof e=="string"?r=ar(e):(r=to({},e),ye(!r.pathname||!r.pathname.includes("?"),Vs("?","pathname","search",r)),ye(!r.pathname||!r.pathname.includes("#"),Vs("#","pathname","hash",r)),ye(!r.search||!r.search.includes("#"),Vs("#","search","hash",r)));let o=e===""||r.pathname==="",a=o?"/":r.pathname,s;if(a==null)s=i;else{let p=t.length-1;if(!n&&a.startsWith("..")){let g=a.split("/");for(;g[0]==="..";)g.shift(),p-=1;r.pathname=g.join("/")}s=p>=0?t[p]:"/"}let l=_1(r,s),c=a&&a!=="/"&&a.endsWith("/"),u=(o||a===".")&&i.endsWith("/");return!l.pathname.endsWith("/")&&(c||u)&&(l.pathname+="/"),l}const Ji=e=>e.join("/").replace(/\/\/+/g,"/"),W1=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),q1=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,Q1=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function Z1(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const ch=["post","put","patch","delete"];new Set(ch);const K1=["get",...ch];new Set(K1);/**
76 * React Router v6.30.1
77 *
78 * Copyright (c) Remix Software Inc.
79 *
80 * This source code is licensed under the MIT license found in the
81 * LICENSE.md file in the root directory of this source tree.
82 *
83 * @license MIT
84 */function io(){return io=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},io.apply(this,arguments)}const dd=x.createContext(null),X1=x.createContext(null),ns=x.createContext(null),rs=x.createContext(null),sr=x.createContext({outlet:null,matches:[],isDataRoute:!1}),dh=x.createContext(null);function os(){return x.useContext(rs)!=null}function ud(){return os()||ye(!1),x.useContext(rs).location}function uh(e){x.useContext(ns).static||x.useLayoutEffect(e)}function as(){let{isDataRoute:e}=x.useContext(sr);return e?d2():Y1()}function Y1(){os()||ye(!1);let e=x.useContext(dd),{basename:t,future:i,navigator:n}=x.useContext(ns),{matches:r}=x.useContext(sr),{pathname:o}=ud(),a=JSON.stringify($1(r,i.v7_relativeSplatPath)),s=x.useRef(!1);return uh(()=>{s.current=!0}),x.useCallback(function(c,u){if(u===void 0&&(u={}),!s.current)return;if(typeof c=="number"){n.go(c);return}let p=V1(c,JSON.parse(a),o,u.relative==="path");e==null&&t!=="/"&&(p.pathname=p.pathname==="/"?t:Ji([t,p.pathname])),(u.replace?n.replace:n.push)(p,u.state,u)},[t,n,a,o,e])}function J1(e,t){return e2(e,t)}function e2(e,t,i,n){os()||ye(!1);let{navigator:r}=x.useContext(ns),{matches:o}=x.useContext(sr),a=o[o.length-1],s=a?a.params:{};a&&a.pathname;let l=a?a.pathnameBase:"/";a&&a.route;let c=ud(),u;if(t){var p;let b=typeof t=="string"?ar(t):t;l==="/"||(p=b.pathname)!=null&&p.startsWith(l)||ye(!1),u=b}else u=c;let g=u.pathname||"/",d=g;if(l!=="/"){let b=l.replace(/^\//,"").split("/");d="/"+g.replace(/^\//,"").split("/").slice(b.length).join("/")}let y=E1(e,{pathname:d}),h=o2(y&&y.map(b=>Object.assign({},b,{params:Object.assign({},s,b.params),pathname:Ji([l,r.encodeLocation?r.encodeLocation(b.pathname).pathname:b.pathname]),pathnameBase:b.pathnameBase==="/"?l:Ji([l,r.encodeLocation?r.encodeLocation(b.pathnameBase).pathname:b.pathnameBase])})),o,i,n);return t&&h?x.createElement(rs.Provider,{value:{location:io({pathname:"/",search:"",hash:"",state:null,key:"default"},u),navigationType:yi.Pop}},h):h}function t2(){let e=c2(),t=Z1(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),i=e instanceof Error?e.stack:null,r={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return x.createElement(x.Fragment,null,x.createElement("h2",null,"Unexpected Application 
84Error!"),x.createElement("h3",{style:{fontStyle:"italic"}},t),i?x.createElement("pre",{style:r},i):null,null)}const i2=x.createElement(t2,null);class n2 extends x.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,i){return i.location!==t.location||i.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:i.error,location:i.location,revalidation:t.revalidation||i.revalidation}}componentDidCatch(t,i){console.error("React Router caught the following error during render",t,i)}render(){return this.state.error!==void 0?x.createElement(sr.Provider,{value:this.props.routeContext},x.createElement(dh.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function r2(e){let{routeContext:t,match:i,children:n}=e,r=x.useContext(dd);return r&&r.static&&r.staticContext&&(i.route.errorElement||i.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=i.route.id),x.createElement(sr.Provider,{value:t},n)}function o2(e,t,i,n){var r;if(t===void 0&&(t=[]),i===void 0&&(i=null),n===void 0&&(n=null),e==null){var o;if(!i)return null;if(i.errors)e=i.matches;else if((o=n)!=null&&o.v7_partialHydration&&t.length===0&&!i.initialized&&i.matches.length>0)e=i.matches;else return null}let a=e,s=(r=i)==null?void 0:r.errors;if(s!=null){let u=a.findIndex(p=>p.route.id&&(s==null?void 0:s[p.route.id])!==void 0);u>=0||ye(!1),a=a.slice(0,Math.min(a.length,u+1))}let l=!1,c=-1;if(i&&n&&n.v7_partialHydration)for(let u=0;u<a.length;u++){let p=a[u];if((p.route.HydrateFallback||p.route.hydrateFallbackElement)&&(c=u),p.route.id){let{loaderData:g,errors:d}=i,y=p.route.loader&&g[p.route.id]===void 0&&(!d||d[p.route.id]===void 0);if(p.route.lazy||y){l=!0,c>=0?a=a.slice(0,c+1):a=[a[0]];break}}}return a.reduceRight((u,p,g)=>{let d,y=!1,h=null,b=null;i&&(d=s&&p.route.id?s[p.route.id]:void 0,h=p.route.errorElement||i2,l&&(c<0&&g===0?(y=!0,b=null):c===g&&(y=!0,b=p.route.hydrateFallbackElement||null)));let m=t.concat(a.slice(0,g+1)),f=()=>{let v;return d?v=h:y?v=b:p.route.Component?v=x.createElement(p.route.Component,null):p.route.element?v=p.route.element:v=u,x.createElement(r2,{match:p,routeContext:{outlet:u,matches:m,isDataRoute:i!=null},children:v})};return i&&(p.route.ErrorBoundary||p.route.errorElement||g===0)?x.createElement(n2,{location:i.location,revalidation:i.revalidation,component:h,error:d,children:f(),routeContext:{outlet:null,matches:m,isDataRoute:!0}}):f()},null)}var ph=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(ph||{}),Pa=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(Pa||{});function a2(e){let t=x.useContext(dd);return t||ye(!1),t}function s2(e){let t=x.useContext(X1);return t||ye(!1),t}function l2(e){let t=x.useContext(sr);return t||ye(!1),t}function gh(e){let t=l2(),i=t.matches[t.matches.length-1];return i.route.id||ye(!1),i.route.id}function c2(){var e;let t=x.useContext(dh),i=s2(Pa.UseRouteError),n=gh(Pa.UseRouteError);return t!==void 0?t:(e=i.errors)==null?void 0:e[n]}function d2(){let{router:e}=a2(ph.UseNavigateStable),t=gh(Pa.UseNavigateStable),i=x.useRef(!1);return uh(()=>{i.current=!0}),x.useCallback(function(r,o){o===void 0&&(o={}),i.current&&(typeof r=="number"?e.navigate(r):e.navigate(r,io({fromRouteId:t},o)))},[e,t])}function u2(e,t){e==null||e.v7_startTransition,e==null||e.v7_relativeSplatPath}function et(e){ye(!1)}function p2(e){let{basename:t="/",children:i=null,location:n,navigationType:r=yi.Pop,navigator:o,static:a=!1,future:s}=e;os()&&ye(!1);let l=t.replace(/^\/*/,"/"),c=x.useMemo(()=>({basename:l,navigator:o,static:a,future:io({v7_relativeSplatPath:!1},s)}),[l,s,o,a]);typeof n=="string"&&(n=ar(n));
84let{pathname:u="/",search:p="",hash:g="",state:d=null,key:y="default"}=n,h=x.useMemo(()=>{let b=lh(u,l);return b==null?null:{location:{pathname:b,search:p,hash:g,state:d,key:y},navigationType:r}},[l,u,p,g,d,y,r]);return h==null?null:x.createElement(ns.Provider,{value:c},x.createElement(rs.Provider,{children:i,value:h}))}function g2(e){let{children:t,location:i}=e;return J1(Yl(t),i)}new Promise(()=>{});function Yl(e,t){t===void 0&&(t=[]);let i=[];return x.Children.forEach(e,(n,r)=>{if(!x.isValidElement(n))return;let o=[...t,r];if(n.type===x.Fragment){i.push.apply(i,Yl(n.props.children,o));return}n.type!==et&&ye(!1),!n.props.index||!n.props.children||ye(!1);let a={id:n.props.id||o.join("-"),caseSensitive:n.props.caseSensitive,element:n.props.element,Component:n.props.Component,index:n.props.index,path:n.props.path,loader:n.props.loader,action:n.props.action,errorElement:n.props.errorElement,ErrorBoundary:n.props.ErrorBoundary,hasErrorBoundary:n.props.ErrorBoundary!=null||n.props.errorElement!=null,shouldRevalidate:n.props.shouldRevalidate,handle:n.props.handle,lazy:n.props.lazy};n.props.children&&(a.children=Yl(n.props.children,o)),i.push(a)}),i}/**
85 * React Router DOM v6.30.1
86 *
87 * Copyright (c) Remix Software Inc.
88 *
89 * This source code is licensed under the MIT license found in the
90 * LICENSE.md file in the root directory of this source tree.
91 *
92 * @license MIT
93 */const f2="6";try{window.__reactRouterVersion=f2}catch{}const m2="startTransition",lp=Pp[m2];function h2(e){let{basename:t,children:i,future:n,window:r}=e,o=x.useRef();o.current==null&&(o.current=A1({window:r,v5Compat:!0}));let a=o.current,[s,l]=x.useState({action:a.action,location:a.location}),{v7_startTransition:c}=n||{},u=x.useCallback(p=>{c&&lp?lp(()=>l(p)):l(p)},[l,c]);return x.useLayoutEffect(()=>a.listen(u),[a,u]),x.useEffect(()=>u2(n),[n]),x.createElement(p2,{basename:t,children:i,location:s.location,navigationType:s.action,navigator:a,future:n})}var cp;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(cp||(cp={}));var dp;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(dp||(dp={}));const v2=()=>(as(),x.useEffect(()=>{let e=0;const t=3;function i(g){e=g;const d=document.getElementById("heroSliderTrack");d&&(d.style.transform="translateX(-"+g*100+"%)"),document.querySelectorAll(".cg-hero-slider-dot").forEach((h,b)=>h.classList.toggle("active",b===g))}function n(){i((e+1)%t)}function r(){i((e-1+t)%t)}function o(g){const d=document.getElementById(g);if(d){d.scrollIntoView({behavior:"smooth",block:"start"});const y=document.getElementById("cgMobileMenu");y&&y.classList.remove("open");const h=document.getElementById("cgBurger");h&&h.classList.remove("open")}}function a(){const g=document.getElementById("cgMobileMenu"),d=document.getElementById("cgBurger");g&&g.classList.toggle("open"),d&&d.classList.toggle("open")}window.cgSliderGoTo=i,window.cgSliderNext=n,window.cgSliderPrev=r,window.cgScrollTo=o,window.cgToggleMenu=a;let s=setInterval(n,4e3);const l=document.getElementById("heroSlider");l&&(l.addEventListener("mouseenter",()=>clearInterval(s)),l.addEventListener("mouseleave",()=>{s=setInterval(n,4e3)}));const c=25,u=document.getElementById("pubCount");if(u){let g=0;const d=Math.ceil(c/30),y=setInterval(()=>{g=Math.min(g+d,c),u.textContent=String(g),g>=c&&clearInterval(y)},50)}window.cgSwitchTab=function(g){document.querySelectorAll(".cg-desc-tab-btn").forEach(h=>h.classList.remove("active")),document.querySelectorAll(".cg-desc-tab-panel").forEach(h=>h.style.display="none");const d=document.querySelector('[data-tab="'+g+'"]'),y=document.getElementById("tab-"+g);d&&d.classList.add("active"),y&&(y.style.display="block")};function p(){const g=document.querySelector(".cg-institutional-bar"),d=document.querySelector(".cg-nav");g&&d&&(d.style.top=g.offsetHeight+"px")}return requestAnimationFrame(p),setTimeout(p,100),setTimeout(p,500),window.addEventListener("resize",p),window.addEventListener("load",p),()=>{clearInterval(s),window.removeEventListener("resize",p),window.removeEventListener("load",p),delete window.cgSliderGoTo,delete window.cgSliderNext,delete window.cgSliderPrev,delete window.cgScrollTo,delete window.cgSwitchTab}},[]),I.jsx("div",{dangerouslySetInnerHTML:{__html:`
94<style>
95.cg-root *, .cg-root *::before, .cg-root *::after { margin: 0; padding: 0; box-sizing: border-box; }
96.cg-root {
97  font-family: Calibri, 'Segoe UI', sans-serif;
98  color: #3a3a4a;
99  line-height: 1.6;
100  background: #FAF8F2;
101}
102body { overflow-x: hidden; }
103.cg-root img { max-width: 100%; }
104
105/* ─── NAV ─── */
106.cg-nav {
107  position: fixed; top: 92px; left: 0; right: 0; z-index: 100;
108  background: rgba(255,255,255,0.92);
109  backdrop-filter: blur(16px);
110  padding: 18px 60px;
111  display: flex; align-items: center; justify-content: space-between;
112  border-bottom: 1px solid rgba(0,0,0,0.06);
113  box-shadow: 0 2px 20px rgba(0,0,0,0.04);
114}
115.cg-nav-logo {
116  display: flex; align-items: center;
117}
118.cg-nav-logo img { height: 56px; object-fit: contain; margin-right: 16px; }
119.cg-nav-links { display: flex; gap: 32px; list-style: none; }
120
121/* ─── INSTITUTIONAL BAR ─── */
122.cg-institutional-bar {
123  position: fixed; top: 0; left: 0; right: 0; z-index: 101;
124  background: #2A65AF;
125  display: flex; align-items: center; justify-content: center;
126  gap: 28px; padding: 14px 40px;
127  border-bottom: 1px solid rgba(0,0,0,0.08);
128  flex-wrap: wrap;
129}
130.cg-institutional-bar img { height: 64px; object-fit: contain; flex-shrink: 0; }
131.cg-institutional-bar .cg-inst-divider {
132  width: 1px; height: 48px; background: rgba(255,255,255,0.3); flex-shrink: 0;
133}
134.cg-nav-links a {
135  color: #555; text-decoration: none; font-size: 0.82rem;
136  font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase;
137  transition: color 0.3s; position: relative; cursor: pointer;
138}
139.cg-nav-links a:hover { color: #8B7535; }
140.cg-nav-links a::after {
141  content:''; position: absolute; bottom: -6px; left: 0; width: 0; height: 2px;
142  background: #8B7535; transition: width 0.3s;
143}
144.cg-nav-links a:hover::after { width: 100%; }
145
146/* ─── HAMBURGER ─── */
147.cg-burger {
148  display: none; flex-direction: column; gap: 5px; cursor: pointer;
149  padding: 8px; z-index: 200;
150}
151.cg-burger span {
152  display: block; width: 24px; height: 2px; background: #3a3a4a;
153  transition: all 0.3s; border-radius: 2px;
154}
155.cg-burger.open span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
156.cg-burger.open span:nth-child(2) { opacity: 0; }
157.cg-burger.open span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }
158
159/* ─── MOBILE MENU ─── */
160.cg-mobile-menu {
161  display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0;
162  background: #FAF8F2; z-index: 190;
163  flex-direction: column; align-items: center; justify-content: center;
164  gap: 24px; list-style: none;
165  overflow: hidden;
166}
167.cg-mobile-menu.open { display: flex; }
168.cg-mobile-menu a {
169  color: #3a3a4a; text-decoration: none; font-size: 1.1rem;
170  font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
171  font-family: Calibri, 'Segoe UI', sans-serif; cursor: pointer;
172  transition: color 0.3s;
173}
174.cg-mobile-menu a:hover { color: #8B7535; }
175.cg-mobile-close {
176  position: absolute; top: 20px; right: 20px;
177  width: 40px; height: 40px; cursor: pointer;
178  display: flex; align-items: center; justify-content: center;
179  background: none; border: none; z-index: 200;
180}
181.cg-mobile-close::before, .cg-mobile-close::after {
182  content: ''; position: absolute;
183  width: 24px; height: 2px; background: #3a3a4a; border-radius: 2px;
184}
185.cg-mobile-close::before { transform: rotate(45deg); }
186.cg-mobile-close::after { transform: rotate(-45deg); }
187
188/* ─── HERO ─── */
189.cg-hero {
190  min-height: auto;
191  background: linear-gradient(160deg, #FAF8F2 0%, #F5F0E6 40%, #EFE9DB 100%);
192  display: grid; grid-template-columns: 1fr 1fr;
193  align-items: center;
194  padding: 240px 60px 80px;
195  position: relative; overflow: hidden;
196}
197.cg-hero::before {
198  content: ''; position: absolute; top: 0; right: 0;
199  width: 55%; height: 100%;
200  background: linear-gradient(135deg, rgba(139,117,53,0.06), rgba(142,69,133,0.08));
201  clip-path: polygon(15% 0, 100% 0, 100% 100%, 0 100%);
202}
203.cg-hero::after {
204  content: ''; position: absolute; top: 10%; right: 5%;
205  width: 500px; height: 500px;
206  background: radial-gradient(circle, rgba(139,117,53,0.08) 0%, transparent 60%);
207  border-radius: 50%;
208}
209.cg-hero-deco1 {
210  position: absolute; top: 15%; left: 3%;
211  width: 120px; height: 120px;
212  border: 2px solid rgba(139,117,53,0.12);
213  border-radius: 50%;
214  animation: cg-float 6s ease-in-out infinite;
215}
216.cg-hero-deco2 {
217  position: absolute; bottom: 20%; left: 8%;
218  width: 80px; height: 80px;
219  border: 2px solid rgba(142,69,133,0.12);
220  border-radius: 50%;
221  animation: cg-float 8s ease-in-out infinite reverse;
222}
223.cg-hero-deco3 {
224  position: absolute; top: 30%; right: 15%;
225  width: 60px; height: 60px;
226  background: rgba(139,117,53,0.06);
227  border-radius: 50%;
228  animation: cg-float 5s ease-in-out infinite;
229}
230@keyframes cg-float {
231  0%, 100% { transform: translateY(0); }
232  50% { transform: translateY(-20px); }
233}
234.cg-hero-content { position: relative; z-index: 2; max-width: 580px; }
235.cg-hero-badge {
236  display: inline-flex; align-items: center; gap: 8px;
237  background: rgba(139,117,53,0.1);
238  border: 1px solid rgba(139,117,53,0.2);
239  color: #8B7535; padding: 8px 20px; border-radius: 50px;
240  font-size: 0.72rem; font-weight: 700; letter-spacing: 2px;
241  text-transform: uppercase; margin-bottom: 28px;
242}
243.cg-hero-badge::before {
244  content: ''; width: 8px; height: 8px;
245  background: #8B7535; border-radius: 50%;
246  animation: cg-pulse 2s ease-in-out infinite;
247}
248@keyframes cg-pulse {
249  0%, 100% { opacity: 1; transform: scale(1); }
250  50% { opacity: 0.5; transform: scale(1.5); }
251}
252.cg-hero h1 {
253  font-family: Calibri, 'Segoe UI', sans-serif;
254  font-size: clamp(1.6rem, 2.8vw, 2.2rem); font-weight: 800;
255  color: #1a1a2e; letter-spacing: 0.5px; margin-bottom: 12px;
256  line-height: 1.3; text-transform: uppercase;
257}
258.cg-hero h1 span { color: #8B7535; }
259.cg-hero .cg-hero-project-name {
260  font-family: Calibri, 'Segoe UI', sans-serif;
261  font-size: clamp(3rem, 5.5vw, 5rem); font-weight: 900;
262  color: #1a1a2e; letter-spacing: 3px; margin-bottom: 24px;
263  line-height: 1.05; text-transform: uppercase;
264}
265.cg-hero .cg-hero-project-name span { color: #8B7535; }
266.cg-hero p {
267  font-size: 1.05rem; color: #666;
268  margin-bottom: 36px; font-weight: 400; line-height: 1.8;
269}
270.cg-hero-btns { display: flex; gap: 16px; flex-wrap: wrap; }
271.cg-btn {
272  display: inline-block; padding: 16px 36px;
273  background: #8B7535; color: #fff;
274  font-weight: 700; font-size: 0.82rem;
275  border-radius: 6px; text-decoration: none;
276  letter-spacing: 1.5px; text-transform: uppercase;
277  transition: all 0.3s;
278  border: none; cursor: pointer;
279}
280.cg-btn:hover { background: #756228; transform: translateY(-2px); box-shadow: 0 12px 30px rgba(139,117,53,0.25); }
281.cg-btn-outline {
282  display: inline-block; padding: 16px 36px;
283  background: transparent; color: #1a1a2e;
284  font-weight: 700; font-size: 0.82rem;
285  border-radius: 6px; text-decoration: none;
286  letter-spacing: 1.5px; text-transform: uppercase;
287  transition: all 0.3s;
288  border: 2px solid rgba(0,0,0,0.15);
289}
290.cg-btn-outline:hover { border-color: #8B7535; color: #8B7535; }
291
292.cg-hero-visual {
293  position: relative; z-index: 2;
294  display: flex; align-items: center; justify-content: center;
295}
296/* ─── HERO SLIDER ─── */
297.cg-hero-slider {
298  width: 100%; max-width: 520px;
299  border-radius: 24px;
300  overflow: visible;
301  box-shadow: 0 30px 60px rgba(0,0,0,0.1);
302  position: relative;
303}
304.cg-hero-slider-track-wrapper {
305  overflow: hidden;
306  border-radius: 24px;
307}
308.cg-hero-slider-track {
309  display: flex;
310  transition: transform 0.6s ease;
311}
312.cg-hero-slide {
313  min-width: 100%;
314  position: relative;
315}
316.cg-hero-slide img {
317  width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block;
318}
319.cg-hero-slide-label {
320  position: absolute; bottom: 0; left: 0; right: 0;
321  background: linear-gradient(transparent, rgba(0,0,0,0.7));
322  padding: 40px 24px 20px;
323  color: #fff;
324  font-family: Calibri, 'Segoe UI', sans-serif;
325  font-size: 0.85rem; font-weight: 700;
326  letter-spacing: 1px; text-transform: uppercase;
327}
328.cg-hero-slider-dots {
329  position: absolute; bottom: 12px; left: 50%;
330  transform: translateX(-50%);
331  display: flex; gap: 8px; z-index: 5;
332}
333.cg-hero-slider-dot {
334  width: 10px; height: 10px; border-radius: 50%;
335  background: rgba(255,255,255,0.5); border: none;
336  cursor: pointer; transition: background 0.3s;
337}
338.cg-hero-slider-dot.active { background: #8B7535; }
339.cg-hero-slider-arrows {
340  position: absolute; top: 50%; left: 0; right: 0;
341  display: flex; justify-content: space-between;
342  transform: translateY(-50%); z-index: 5; padding: 0 12px;
343}
344.cg-hero-slider-arrow {
345  width: 36px; height: 36px; border-radius: 50%;
346  background: rgba(255,255,255,0.8); border: none;
347  cursor: pointer; font-size: 1.2rem; color: #333;
348  display: flex; align-items: center; justify-content: center;
349  transition: background 0.3s;
350}
351.cg-hero-slider-arrow:hover { background: #fff; }
352
353.cg-hero-float-box {
354  position: absolute; bottom: -30px; right: -20px;
355  background: white;
356  border-radius: 16px; padding: 20px 24px;
357  box-shadow: 0 20px 50px rgba(0,0,0,0.12);
358  border: 1px solid rgba(0,0,0,0.05);
359  max-width: 240px; z-index: 10;
360}
361.cg-hero-float-box h4 {
362  font-family: Calibri, 'Segoe UI', sans-serif;
363  font-size: 0.85rem; font-weight: 700; color: #8E4585;
364  text-transform: uppercase; letter-spacing: 1px; margin-bottom: 10px;
365}
366.cg-hero-float-box ul { list-style: none; }
367.cg-hero-float-box li {
368  padding: 5px 0; padding-left: 18px; position: relative;
369  color: #555; font-size: 0.8rem;
370}
371.cg-hero-float-box li::before {
372  content: ''; position: absolute; left: 0; top: 50%;
373  width: 8px; height: 8px; border-radius: 2px;
374  background: #8B7535; transform: translateY(-50%) rotate(45deg);
375}
376
377/* ─── SERVICES CARDS (overlapping hero) ─── */
378.cg-services-bar {
379  position: relative; z-index: 10;
380  margin-top: -60px;
381  padding: 0 60px;
382  display: grid; grid-template-columns: repeat(4, 1fr);
383  gap: 0;
384}
385.cg-service-card {
386  background: #fff;
387  padding: 40px 28px;
388  border: 1px solid rgba(0,0,0,0.06);
389  transition: all 0.4s;
390  position: relative;
391  overflow: hidden;
392}
393.cg-service-card::before {
394  content: ''; position: absolute; top: 0; left: 0; right: 0;
395  height: 3px; background: #8B7535;
396  transform: scaleX(0); transition: transform 0.4s; transform-origin: left;
397}
398.cg-service-card:hover { transform: translateY(-8px); box-shadow: 0 20px 40px rgba(0,0,0,0.08); }
399.cg-service-card:hover::before { transform: scaleX(1); }
400.cg-service-img {
401  width: 100%; height: 120px; object-fit: cover;
402  border-radius: 10px; margin-bottom: 18px;
403}
404.cg-service-card h3 {
405  font-family: Calibri, 'Segoe UI', sans-serif;
406  font-size: 0.95rem; font-weight: 700; color: #1a1a2e;
407  text-transform: uppercase; letter-spacing: 1px; margin-bottom: 12px;
408}
409.cg-service-card p { font-size: 0.85rem; color: #888; line-height: 1.7; }
410
411/* ─── SECTION COMMON ─── */
412.cg-section { padding: 100px 60px; max-width: 1400px; margin: 0 auto; }
413.cg-section-full { padding: 100px 60px; }
414.cg-section-header { margin-bottom: 60px; }
415.cg-section-label {
416  font-size: 0.72rem; font-weight: 700; color: #8B7535;
417  letter-spacing: 3px; text-transform: uppercase; margin-bottom: 14px;
418  display: flex; align-items: center; gap: 10px;
419}
420.cg-section-label::before {
421  content: ''; width: 30px; height: 2px; background: #8B7535;
422}
423.cg-section-title {
424  font-family: Calibri, 'Segoe UI', sans-serif;
425  font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 800;
426  margin-bottom: 16px; color: #1a1a2e;
427  text-transform: uppercase; letter-spacing: 1px; line-height: 1.15;
428}
429.cg-section-subtitle {
430  font-size: 1rem; color: #777; max-width: 600px;
431  line-height: 1.8; margin: 0 auto;
432}
433
434/* ─── PROGETTO (About section) ─── */
435.cg-about { background: #fff; }
436.cg-about-inner {
437  max-width: 1400px; margin: 0 auto;
438  display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center;
439}
440.cg-about-text p {
441  color: #666; line-height: 1.9; margin-bottom: 20px; font-size: 1rem;
442}
443.cg-about-features { margin-top: 32px; }
444.cg-about-feature {
445  display: flex; gap: 16px; align-items: flex-start;
446  padding: 16px 0;
447  border-bottom: 1px solid rgba(0,0,0,0.06);
448}
449.cg-about-feature-icon {
450  width: 44px; height: 44px; flex-shrink: 0;
451  background: rgba(139,117,53,0.08);
452  border-radius: 10px;
453  display: flex; align-items: center; justify-content: center;
454  overflow: hidden;
455}
456.cg-about-feature-icon img { width: 100%; height: 100%; object-fit: cover; border-radius: 10px; }
457.cg-about-feature h4 {
458  font-family: Calibri, 'Segoe UI', sans-serif;
459  font-size: 0.95rem; font-weight: 700; color: #1a1a2e;
460  text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 4px;
461}
462.cg-about-feature p { font-size: 0.85rem; color: #888; margin: 0; line-height: 1.5; }
463
464.cg-about-image {
465  position: relative;
466  border-radius: 20px; overflow: visible;
467}
468.cg-about-image-main {
469  width: 100%; border-radius: 20px; overflow: hidden;
470  box-shadow: 0 20px 50px rgba(0,0,0,0.08);
471}
472.cg-about-image-main img {
473  width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block;
474}
475
476/* ─── STATS ─── */
477.cg-stats-section {
478  background: linear-gradient(135deg, #8E4585, #8B7535);
479  padding: 60px;
480}
481.cg-stats-inner {
482  max-width: 1400px; margin: 0 auto;
483  display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px;
484}
485.cg-stat { text-align: center; }
486.cg-stat-num {
487  font-family: Calibri, 'Segoe UI', sans-serif;
488  font-size: 3rem; font-weight: 900; color: #fff;
489}
490.cg-stat-label {
491  font-size: 0.8rem; color: rgba(255,255,255,0.85);
492  font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase;
493  margin-top: 4px;
494}
495
496/* ─── OBIETTIVI (Objectives) ─── */
497.cg-objectives { background: #FAF8F2; }
498.cg-objectives-layout {
499  max-width: 1200px; margin: 0 auto;
500  position: relative;
501  display: flex; flex-direction: column; align-items: center; gap: 40px;
502}
503.cg-objectives-center {
504  width: 220px; height: 220px;
505  border-radius: 50%;
506  display: flex; align-items: center; justify-content: center;
507  overflow: hidden;
508  box-shadow: 0 20px 50px rgba(139,117,53,0.25);
509}
510.cg-objectives-center img {
511  width: 100%; height: 100%; object-fit: cover;
512}
513.cg-objectives-grid {
514  display: grid; grid-template-columns: 1fr 1fr;
515  gap: 20px; width: 100%;
516}
517.cg-objective-card {
518  background: #fff;
519  border-radius: 16px;
520  padding: 28px 24px;
521  border: 1px solid rgba(0,0,0,0.06);
522  transition: all 0.3s;
523  display: flex; gap: 16px; align-items: flex-start;
524}
525.cg-objective-card:hover { box-shadow: 0 10px 30px rgba(0,0,0,0.06); transform: translateY(-4px); }
526.cg-objective-card:last-child { grid-column: 1 / -1; max-width: 50%; justify-self: center; }
527.cg-objective-icon {
528  flex-shrink: 0;
529  width: 42px; height: 42px;
530  background: linear-gradient(135deg, rgba(139,117,53,0.1), rgba(142,69,133,0.1));
531  border-radius: 12px;
532  display: flex; align-items: center; justify-content: center;
533  color: #8B7535;
534}
535.cg-objective-icon svg {
536  width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
537}
538.cg-objective-card p {
539  font-size: 0.9rem; color: #555; line-height: 1.7;
540}
541
542/* ─── TEAM ─── */
543.cg-team { background: #fff; }
544.cg-team-group-photo {
545  max-width: 900px; margin: 40px auto 0; border-radius: 20px; overflow: hidden;
546  box-shadow: 0 20px 50px rgba(0,0,0,0.08);
547}
548.cg-team-group-photo img {
549  width: 100%; display: block; object-fit: cover;
550}
551
552/* ─── RESEARCH UNITS ─── */
553.cg-units-grid {
554  display: grid; grid-template-columns: repeat(3, 1fr);
555  gap: 24px; max-width: 1200px; margin: 40px auto 0;
556  padding: 0 60px;
557}
558.cg-unit-card {
559  background: #FAF8F2;
560  border-radius: 16px;
561  padding: 40px 28px;
562  text-align: center;
563  border: 1px solid rgba(0,0,0,0.06);
564  transition: all 0.4s;
565  cursor: pointer;
566}
567.cg-unit-card:hover { transform: translateY(-6px); box-shadow: 0 15px 30px rgba(0,0,0,0.08); border-color: rgba(139,117,53,0.2); }
568.cg-unit-logo {
569  width: 140px; height: 140px;
570  border-radius: 50%;
571  object-fit: contain;
572  margin: 0 auto 20px;
573  background: #fff;
574  padding: 12px;
575  box-shadow: 0 4px 12px rgba(0,0,0,0.06);
576}
577.cg-unit-card h3 {
578  font-family: Calibri, 'Segoe UI', sans-serif;
579  font-size: 0.95rem; font-weight: 700; color: #1a1a2e;
580  text-transform: uppercase; letter-spacing: 0.5px;
581}
582.cg-unit-card p {
583  font-size: 0.82rem; color: #888; margin-top: 8px; line-height: 1.6;
584}
585.cg-unit-pi {
586  font-size: 0.78rem; color: #8B7535; font-weight: 600; margin-top: 6px;
587}
588
589/* ─── RICERCA (Lab Services style) ─── */
590.cg-research { background: #FAF8F2; }
591.cg-research-inner {
592  max-width: 1400px; margin: 0 auto;
593  display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center;
594}
595.cg-research-visual {
596  border-radius: 20px;
597  overflow: hidden;
598  box-shadow: 0 20px 50px rgba(0,0,0,0.08);
599}
600.cg-research-visual img {
601  width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block;
602}
603.cg-research-text h3 {
604  font-family: Calibri, 'Segoe UI', sans-serif;
605  font-size: 1.6rem; font-weight: 800; color: #1a1a2e;
606  text-transform: uppercase; letter-spacing: 1px; margin-bottom: 20px;
607}
608.cg-research-text p { color: #666; line-height: 1.9; margin-bottom: 16px; font-size: 1rem; }
609.cg-research-tags { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 28px; }
610.cg-research-tag {
611  padding: 8px 18px;
612  background: rgba(139,117,53,0.08);
613  border: 1px solid rgba(139,117,53,0.15);
614  color: #8B7535; border-radius: 6px;
615  font-size: 0.78rem; font-weight: 700;
616  letter-spacing: 0.5px; text-transform: uppercase;
617}
618
619/* ─── TIMELINE (Roadmap) ─── */
620.cg-roadmap { background: #fff; }
621.cg-roadmap-grid {
622  display: grid; grid-template-columns: repeat(4, 1fr);
623  gap: 24px; max-width: 1400px; margin: 0 auto;
624}
625.cg-roadmap-item {
626  background: #FAF8F2;
627  border-radius: 16px;
628  padding: 36px 28px;
629  border: 1px solid rgba(0,0,0,0.04);
630  transition: all 0.4s;
631  position: relative; overflow: hidden;
632}
633.cg-roadmap-item::before {
634  content: ''; position: absolute; top: 0; left: 0;
635  width: 4px; height: 100%;
636  background: linear-gradient(180deg, #8B7535, #8E4585);
637  opacity: 0; transition: opacity 0.3s;
638}
639.cg-roadmap-item:hover { transform: translateY(-6px); box-shadow: 0 15px 30px rgba(0,0,0,0.06); }
640.cg-roadmap-item:hover::before { opacity: 1; }
641.cg-roadmap-num {
642  font-family: Calibri, 'Segoe UI', sans-serif;
643  font-size: 2.5rem; font-weight: 900; color: rgba(139,117,53,0.15);
644  margin-bottom: 16px; line-height: 1;
645}
646.cg-roadmap-item h3 {
647  font-family: Calibri, 'Segoe UI', sans-serif;
648  font-size: 1rem; font-weight: 700; color: #1a1a2e;
649  text-transform: uppercase; letter-spacing: 0.5px;
650  margin-bottom: 12px;
651}
652.cg-roadmap-item p { font-size: 0.85rem; color: #888; line-height: 1.7; }
653.cg-roadmap-steps { list-style: none; margin-top: 12px; }
654.cg-roadmap-steps li {
655  font-size: 0.8rem; color: #666; line-height: 1.6;
656  padding: 4px 0 4px 16px; position: relative;
657}
658.cg-roadmap-steps li::before {
659  content: ''; position: absolute; left: 0; top: 11px;
660  width: 6px; height: 6px; background: #8B7535;
661  border-radius: 50%;
662}
663
664/* ─── CONTATTI ─── */
665.cg-contact {
666  background: #fff;
667  text-align: center;
668}
669.cg-contact-inner { max-width: 700px; margin: 0 auto; }
670.cg-contact p { color: #666; font-size: 1.05rem; line-height: 1.8; margin-bottom: 20px; }
671.cg-contact-uni {
672  font-family: Calibri, 'Segoe UI', sans-serif;
673  font-size: 1.15rem; font-weight: 700; color: #1a1a2e;
674  margin-bottom: 4px;
675}
676.cg-contact-loc { font-size: 0.9rem; color: #999; margin-bottom: 24px; }
677.cg-contact-email {
678  display: inline-block; font-size: 1.3rem; font-weight: 700;
679  color: #8B7535; text-decoration: none; margin-bottom: 32px;
680  transition: opacity 0.3s;
681}
682.cg-contact-email:hover { opacity: 0.8; }
683
684/* ─── INSTITUTIONAL LOGOS ─── */
685.cg-institutional {
686  display: flex; align-items: center; justify-content: center;
687  gap: 32px; flex-wrap: wrap; margin-top: 40px;
688  padding: 24px;
689  background: rgba(0,0,0,0.02);
690  border-radius: 12px;
691}
692.cg-institutional img {
693  height: 50px; object-fit: contain;
694}
695.cg-institutional-text {
696  font-size: 0.72rem; color: #999;
697  text-align: center; margin-top: 12px;
698  line-height: 1.6;
699}
700
701/* ─── CONFERENCES / DISSEMINATION ─── */
702.cg-conferences {
703  background: #FAF8F2;
704}
705.cg-conf-cta {
706  text-align: center; margin-top: 40px;
707}
708.cg-conf-cta a {
709  display: inline-block; padding: 14px 36px;
710  background: linear-gradient(135deg, #8B7535, #D4A017);
711  color: #fff; font-weight: 700; font-size: 0.9rem;
712  text-decoration: none; border-radius: 50px;
713  letter-spacing: 1px; text-transform: uppercase;
714  transition: transform 0.3s, box-shadow 0.3s;
715}
716.cg-conf-cta a:hover {
717  transform: translateY(-2px); box-shadow: 0 8px 24px rgba(139,117,53,0.3);
718}
719.cg-conf-list { max-width: 900px; margin: 0 auto; }
720.cg-conf-item {
721  padding: 28px 0;
722  border-bottom: 1px solid rgba(139,117,53,0.12);
723}
724.cg-conf-item:last-child { border-bottom: none; }
725.cg-conf-event {
726  font-family: Calibri, 'Segoe UI', sans-serif;
727  font-size: 1.05rem; font-weight: 700; color: #1a1a2e;
728  margin-bottom: 4px; line-height: 1.4;
729}
730.cg-conf-details {
731  font-size: 0.82rem; color: #8B7535; font-weight: 600;
732  margin-bottom: 8px;
733}
734.cg-conf-type {
735  display: inline-block;
736  font-size: 0.7rem; font-weight: 700; text-transform: uppercase;
737  letter-spacing: 1px;
738  padding: 3px 10px; border-radius: 20px;
739  margin-bottom: 8px;
740}
741.cg-conf-type-oral { background: rgba(142,69,133,0.12); color: #8E4585; }
742.cg-conf-type-poster { background: rgba(139,117,53,0.12); color: #8B7535; }
743.cg-conf-authors {
744  font-size: 0.82rem; color: #777; line-height: 1.5;
745}
746.cg-conf-title-text {
747  font-style: italic; color: #555; font-size: 0.88rem;
748  margin-top: 4px;
749}
750
751/* ─── WORKSHOPS ─── */
752.cg-workshops-placeholder {
753  max-width: 900px; margin: 0 auto;
754  padding: 40px; text-align: center;
755  background: rgba(139,117,53,0.04);
756  border: 1px dashed rgba(139,117,53,0.2);
757  border-radius: 16px;
758  color: #999; font-size: 0.95rem;
759}
760
761/* ─── FOOTER ─── */
762.cg-footer {
763  background: #2A65AF;
764  text-align: center; padding: 40px 24px;
765  font-size: 0.82rem; color: rgba(255,255,255,0.7);
766}
767.cg-footer a { color: #fff; text-decoration: none; font-weight: 600; }
768.cg-footer-logos {
769  display: flex; align-items: center; justify-content: center;
770  gap: 24px; margin-bottom: 20px; flex-wrap: wrap;
771}
772.cg-footer-logos img { height: 56px; object-fit: contain; }
773.cg-footer-funding {
774  font-size: 0.72rem; color: rgba(255,255,255,0.6);
775  margin-top: 12px; line-height: 1.6;
776  max-width: 700px; margin-left: auto; margin-right: auto;
777}
778
779/* ─── PROJECT DESCRIPTION TABS ─── */
780.cg-desc-section { background: #FAF8F2; }
781.cg-desc-tabs {
782  display: flex; gap: 0; border-bottom: 2px solid rgba(0,0,0,0.08); margin-bottom: 32px;
783}
784.cg-desc-tab-btn {
785  padding: 14px 28px; border: none; background: none; cursor: pointer;
786  font-family: Calibri, 'Segoe UI', sans-serif;
787  font-size: 0.82rem; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase;
788  color: #888; position: relative; transition: color 0.3s;
789}
790.cg-desc-tab-btn::after {
791  content: ''; position: absolute; bottom: -2px; left: 0; right: 0;
792  height: 3px; background: #8B7535; transform: scaleX(0); transition: transform 0.3s;
793}
794.cg-desc-tab-btn:hover { color: #555; }
795.cg-desc-tab-btn.active { color: #8B7535; }
796.cg-desc-tab-btn.active::after { transform: scaleX(1); }
797.cg-desc-tab-panel { display: none; }
798.cg-desc-tab-panel p { font-size: 0.95rem; color: #555; line-height: 1.9; margin-bottom: 16px; }
799.cg-desc-tab-panel strong { color: #1a1a2e; }
800.cg-desc-ru-list { list-style: none; margin: 16px 0; }
801.cg-desc-ru-list li {
802  padding: 12px 0 12px 20px; position: relative;
803  font-size: 0.92rem; color: #555; line-height: 1.6;
804  border-bottom: 1px solid rgba(0,0,0,0.04);
805}
806.cg-desc-ru-list li::before {
807  content: ''; position: absolute; left: 0; top: 18px;
808  width: 8px; height: 8px; background: #8B7535; border-radius: 2px; transform: rotate(45deg);
809}
810.cg-desc-results-grid {
811  display: grid; grid-template-columns: 1fr; gap: 16px; counter-reset: result;
812}
813.cg-desc-result {
814  display: flex; gap: 16px; align-items: flex-start;
815  padding: 16px 20px; background: #fff; border-radius: 12px;
816  border: 1px solid rgba(0,0,0,0.06);
817}
818.cg-desc-result-num {
819  flex-shrink: 0; width: 36px; height: 36px;
820  background: rgba(139,117,53,0.1); border-radius: 10px;
821  display: flex; align-items: center; justify-content: center;
822  font-family: Calibri, 'Segoe UI', sans-serif;
823  font-size: 0.85rem; font-weight: 800; color: #8B7535;
824}
825.cg-desc-result p { font-size: 0.88rem; color: #555; line-height: 1.7; margin: 0; }
826
827/* ─── RESPONSIVE ─── */
828@media (max-width: 1024px) {
829  .cg-hide-mobile { display: none !important; }
830  .cg-hero { grid-template-columns: 1fr; padding: 180px 40px 80px; }
831  .cg-hero-visual { display: none; }
832  .cg-services-bar { grid-template-columns: repeat(2, 1fr); padding: 0 40px; }
833  .cg-about-inner, .cg-research-inner { grid-template-columns: 1fr; gap: 40px; }
834  .cg-objectives-grid { grid-template-columns: 1fr; }
835  .cg-objective-card:last-child { max-width: 100%; }
836  .cg-roadmap-grid { grid-template-columns: repeat(2, 1fr); }
837  .cg-stats-inner { grid-template-columns: repeat(2, 1fr); }
838  .cg-units-grid { grid-template-columns: 1fr; padding: 0 40px; }
839  .cg-nav { padding: 16px 24px; }
840  .cg-nav-links { display: none; }
841  .cg-burger { display: flex; }
842  .cg-section, .cg-section-full { padding: 80px 40px; }
843  .cg-institutional-bar { padding: 10px 20px; gap: 14px; }
844  .cg-institutional-bar img { height: 44px; }
845  .cg-institutional-bar .cg-inst-divider { height: 32px; }
846  .cg-conf-list { padding: 0 20px; }
847}
848@media (max-width: 640px) {
849  .cg-services-bar { grid-template-columns: 1fr; margin-top: -30px; }
850  .cg-objectives-grid { grid-template-columns: 1fr; }
851  .cg-roadmap-grid { grid-template-columns: 1fr; padding: 0 10px !important; }
852  .cg-stats-inner { grid-template-columns: 1fr; gap: 24px; }
853  .cg-hero { padding: 200px 10px 50px; text-align: center; }
854  .cg-hero p { text-align: center; }
855  .cg-hero-btns { justify-content: center; }
856  .cg-btn, .cg-btn-outline { width: 100%; text-align: center; padding: 14px 20px; }
857  .cg-section, .cg-section-full { padding: 50px 10px; text-align: center; }
858  .cg-about-inner { padding: 0 10px !important; }
859  .cg-section-full > div { padding-left: 10px !important; padding-right: 10px !important; }
860  .cg-roadmap-grid { padding: 0 10px !important; }
861  .cg-services-bar { padding: 0 10px; }
862  .cg-units-grid { padding: 0 10px; }
863  .cg-institutional-bar { padding: 8px 6px; gap: 8px; justify-content: space-between; flex-wrap: nowrap; }
864  .cg-institutional-bar img { height: 32px !important; flex-shrink: 1; min-width: 0; object-fit: contain; }
865  .cg-institutional-bar .cg-logo-italiadomani { height: 58px !important; }
866  .cg-institutional-bar .cg-inst-divider { display: flex; height: 28px; background: rgba(255,255,255,0.3); width: 1px; flex-shrink: 0; }
867  
868  .cg-hero-project-name { font-size: 2rem !important; }
869  .cg-section-title { font-size: 1.6rem; text-align: center; }
870  .cg-footer-logos img { height: 40px; }
871  .cg-conf-event { font-size: 0.92rem; }
872  .cg-objectives-layout { padding: 0 10px !important; }
873  .cg-objective-card { padding: 16px !important; text-align: center; }
874  .cg-objective-card:last-child { max-width: 100% !important; }
875  .cg-roadmap-item { padding: 20px 16px; text-align: center; }
876  .cg-conf-item { padding: 16px 0; text-align: center; }
877  .cg-conf-list { padding: 0 4px !important; }
878  .cg-research-inner { padding: 0 10px !important; text-align: center; }
879  .cg-footer { padding: 30px 10px; }
880  .cg-footer-logos { gap: 12px; }
881  .cg-footer-logos img { height: 32px; }
882  .cg-about-text { text-align: center; }
883  .cg-about-inner p { text-align: center; }
884}
885</style>
886
887<div class="cg-root">
888
889<!-- INSTITUTIONAL BAR (logo firma con logo ente beneficiario — secondo tipo MUR) -->
890<div class="cg-institutional-bar">
891  <img src="/images/footer-eu-white.png" alt="Finanziato dall'Unione europea - NextGenerationEU" style="height:56px;" />
892  <div class="cg-inst-divider"></div>
893  <img src="/images/footer-mur-white.png" alt="Ministero dell'Università e della Ricerca" style="height:42px;" />
894  <div class="cg-inst-divider"></div>
895  <img src="/images/footer-italiadomani-white.png" alt="Italia Domani - Piano Nazionale di Ripresa e Resilienza" style="height:72px;" class="cg-logo-italiadomani" />
896  <div class="cg-inst-divider cg-hide-mobile"></div>
897  <img src="/images/logo-uda.png" alt="UdA - Università G. d'Annunzio" style="height:80px;" class="cg-hide-mobile" />
898  <img src="/images/logo-unime-white.png" alt="UNIME" style="height:76px;" class="cg-hide-mobile" />
899  <img src="/images/logo-uniba.png" alt="UNIBA" style="height:80px;" class="cg-hide-mobile" />
900</div>
901
902<nav class="cg-nav">
903  <div class="cg-nav-logo"><img src="/images/logo-circulagris.png" alt="CIRCULAGRIS" /></div>
904  <ul class="cg-nav-links">
905    <li><a onclick="cgScrollTo('progetto')">Project</a></li>
906    <li><a onclick="cgScrollTo('obiettivi')">Objectives</a></li>
907    <li><a onclick="cgScrollTo('roadmap')">Roadmap</a></li>
908    <li><a onclick="cgScrollTo('ricerca')">Research Results</a></li>
909    <li><a onclick="cgScrollTo('team')" style="cursor:pointer">Researchers</a></li>
910    <li><a href="https://www.circulagris.com/workshops/" target="_top" style="cursor:pointer">Workshops</a></li>
911    <li><a href="https://www.circulagris.com/conferences/" target="_top" style="cursor:pointer">Conferences</a></li>
912    <li><a href="https://www.circulagris.com/publications/" target="_top" style="cursor:pointer">Publications</a></li>
913    <li><a onclick="cgScrollTo('contatti')">Contact</a></li>
914    <li class="cg-lang-switch"><a href="https://www.circulagris.com/home-ita/" target="_top" style="background:#8B7535;color:#fff !important;padding:6px 14px;border-radius:20px;font-weight:700;cursor:pointer;">IT</a></li>
915  </ul>
916  <div class="cg-burger" id="cgBurger" onclick="cgToggleMenu()">
917    <span></span><span></span><span></span>
918  </div>
919</nav>
920
921<!-- MOBILE MENU -->
922<ul class="cg-mobile-menu" id="cgMobileMenu">
923  <button class="cg-mobile-close" onclick="cgToggleMenu()" aria-label="Close menu"></button>
924  <li><a onclick="cgScrollTo('progetto')">Project</a></li>
925  <li><a onclick="cgScrollTo('obiettivi')">Objectives</a></li>
926  
927  <li><a onclick="cgScrollTo('roadmap')">Roadmap</a></li>
928  <li><a onclick="cgScrollTo('ricerca')">Research Results</a></li>
929  <li><a onclick="cgScrollTo('team')" style="cursor:pointer">Researchers</a></li>
930  <li>
930<a href="https://www.circulagris.com/workshops/" target="_top" style="cursor:pointer">Workshops</a></li>
931  <li><a href="https://www.circulagris.com/conferences/" target="_top" style="cursor:pointer">Conferences</a></li>
932  <li><a href="https://www.circulagris.com/publications/" target="_top" style="cursor:pointer">Publications</a></li>
933  <li><a onclick="cgScrollTo('contatti')">Contact</a></li>
934    <li class="cg-lang-switch"><a href="https://www.circulagris.com/home-ita/" target="_top" style="background:#8B7535;color:#fff !important;padding:6px 14px;border-radius:20px;font-weight:700;cursor:pointer;">IT</a></li>
935</ul>
936
937<!-- HERO -->
938<section class="cg-hero">
939  <div class="cg-hero-deco1"></div>
940  <div class="cg-hero-deco2"></div>
941  <div class="cg-hero-deco3"></div>
942  <div class="cg-hero-content">
943    <div class="cg-hero-badge">PRIN 2022 Project</div>
944    <h1>Towards Circular and Sustainable Agri-food Systems: Metrics for Assessment</h1>
945    <div class="cg-hero-project-name" style="font-family: Calibri, 'Segoe UI', sans-serif; font-size: clamp(3rem, 5.5vw, 5rem); font-weight: 900; color: #8B7535; letter-spacing: 3px; text-transform: uppercase; line-height: 1.05; margin-bottom: 24px;">CIRCULAGRIS</div>
946    <p>Circularity and sustainability in agri-food systems: integrated assessment of wine, olive oil and bread/pasta supply chains through Life Cycle-based methodologies and circularity indicators.</p>
947    <div class="cg-hero-btns">
948      <a onclick="cgScrollTo('progetto')" class="cg-btn" style="cursor:pointer;">Discover the project</a>
949      <a onclick="cgScrollTo('contatti')" class="cg-btn-outline" style="cursor:pointer;">Contact us</a>
950    </div>
951  </div>
952  <div class="cg-hero-visual">
953    <div class="cg-hero-slider" id="heroSlider">
954      <div class="cg-hero-slider-track-wrapper">
955      <div class="cg-hero-slider-track" id="heroSliderTrack">
956        <div class="cg-hero-slide">
957          <img src="/images/research-vineyard.jpg" alt="Wine supply chain" />
958          <div class="cg-hero-slide-label">Wine Supply Chain</div>
959        </div>
960        <div class="cg-hero-slide">
961          <img src="/images/olive-grove.jpg" alt="Olive oil supply chain" />
962          <div class="cg-hero-slide-label">Olive Oil Supply Chain</div>
963        </div>
964        <div class="cg-hero-slide">
965          <img src="/images/hero-wheat.jpg" alt="Bread/Pasta supply chain" />
966          <div class="cg-hero-slide-label">Bread/Pasta Supply Chain</div>
967        </div>
968      </div>
969      </div>
970      <div class="cg-hero-slider-arrows">
971        <button class="cg-hero-slider-arrow" onclick="window.cgSliderPrev()">‹</button>
972        <button class="cg-hero-slider-arrow" onclick="window.cgSliderNext()">›</button>
973      </div>
974      <div class="cg-hero-slider-dots" id="heroSliderDots">
975        <button class="cg-hero-slider-dot active" onclick="window.cgSliderGoTo(0)"></button>
976        <button class="cg-hero-slider-dot" onclick="window.cgSliderGoTo(1)"></button>
977        <button class="cg-hero-slider-dot" onclick="window.cgSliderGoTo(2)"></button>
978      </div>
979      <div class="cg-hero-float-box">
980      <h4>Supply Chains</h4>
981      <ul>
982        <li>Wine supply chain</li>
983        <li>Olive oil supply chain</li>
984        <li>Bread/Pasta supply chain</li>
985      </ul>
986    </div>
987    </div>
988  </div>
989</section>
990
991<!-- SERVICES BAR (Metodologie) — Ordine: LCA, S-LCA, LCC, Circularity Metrics -->
992<div class="cg-services-bar">
993  <div class="cg-service-card">
994    <img class="cg-service-img" src="/images/lca-environmental.jpg" alt="Life Cycle Assessment" />
995    <h3>Life Cycle Assessment</h3>
996    <p>Assessment of potential environmental impacts throughout the entire life cycle following ISO 14040/44 standards.</p>
997  </div>
998  <div class="cg-service-card">
999    <img class="cg-service-img" src="/images/social-lca.jpg" alt="Social Life Cycle Assessment" />
1000    <h3>Social Life Cycle Assessment</h3>
1001    <p>Assessment of potential social impacts on stakeholders.</p>
1002  </div>
1003  <div class="cg-service-card">
1004    <img class="cg-service-img" src="/images/life-cycle-costing.jpg" alt="Life Cycle Costing" />
1005    <h3>Life Cycle Costing</h3>
1006    <p>
1006Analysis of internal costs and externalities.</p>
1007  </div>
1008  <div class="cg-service-card">
1009    <img class="cg-service-img" src="/images/circularity-wheel.png" alt="Circularity Metrics" />
1010    <h3>Circularity Metrics</h3>
1011    <p>Quantitative indicators to measure the degree of circularity in agri-food supply chains.</p>
1012  </div>
1013</div>
1014
1015<!-- ABOUT / PROGETTO -->
1016<section id="progetto" class="cg-section-full cg-about">
1017  <div class="cg-about-inner" style="padding: 0 60px; max-width: 1400px; margin: 0 auto;">
1018    <div>
1019      <div class="cg-section-header">
1020        <div class="cg-section-label">The Project</div>
1021        <h2 class="cg-section-title">Circularity and Sustainability Assessment in Agri-food</h2>
1022      </div>
1023      <div class="cg-about-text">
1024        <p>CIRCULAGRIS is a Research Project of National Interest (PRIN) aimed at developing circularity and sustainability metrics for Italian agri-food supply chains, focusing on wine, olive oil and bread/pasta.</p>
1025        <p>The project integrates Life Cycle Assessment (LCA), Social Life Cycle Assessment (S-LCA) and Life Cycle Costing (LCC) methodologies and circularity indicators to provide a holistic assessment of the environmental, social and economic impacts of circular systems.</p>
1026      </div>
1027      <div class="cg-about-features">
1028        <div class="cg-about-feature">
1029          <div class="cg-about-feature-icon">
1030            <img src="/images/about-lab.jpg" alt="Laboratory" />
1031          </div>
1032          <div>
1033            <h4>Life Cycle Methodologies</h4>
1034            <p>Integrated LCA, S-LCA and LCC framework</p>
1035          </div>
1036        </div>
1037        <div class="cg-about-feature">
1038          <div class="cg-about-feature-icon">
1039            <img src="/images/circularity-indicators.jpg" alt="Circularity indicators" />
1040          </div>
1041          <div>
1042            <h4>Circularity Indicators</h4>
1043            <p>Metrics and indicators for circularity assessment in the agri-food sector</p>
1044          </div>
1045        </div>
1046      </div>
1047    </div>
1048    <div class="cg-about-image">
1049      <div class="cg-about-image-main">
1050        <img src="/images/agrifood-lab.png" alt="Agri-food products in research laboratory - olive oil, wine, pasta" />
1051      </div>
1052    </div>
1053  </div>
1054</section>
1055
1056<!-- BRIEF DESCRIPTION OF THE PROJECT -->
1057<section class="cg-section-full cg-desc-section">
1058  <div class="cg-section" style="padding-top: 60px; padding-bottom: 60px;">
1059    <div class="cg-section-header">
1060      <div class="cg-section-label">Brief Description</div>
1061      <h2 class="cg-section-title">About the Project</h2>
1062    </div>
1063
1064    <!-- Description content -->
1065    <div style="max-width: 900px; margin: 0 auto;">
1066      <p style="font-size: 0.92rem; color: #555; line-height: 1.8; margin-bottom: 16px;">Agricultural sustainability lies at the core of numerous European Union initiatives, including the Common Agricultural Policy and the "Farm to Fork Strategy". The latter is pivotal to the implementation of the new European Green Deal (EGD), where the Circular Economy (CE) paradigm has been firmly integrated into both policy and business practices. In Italy, agriculture holds a prominent position.</p>
1067      <p style="font-size: 0.92rem; color: #555; line-height: 1.8; margin-bottom: 16px;">Scholars emphasise the importance of assessing sustainability impacts at both company and inter-firm levels. A circular supply chain may not always be the most sustainable choice and sustainability impacts should be assessed on a case-by-case basis. When it comes to the agri-food sector, life cycle-based assessment methodologies, i.e., Life Cycle Assessment, Social Life Cycle Assessment and Life Cycle Costing are considered suitable for evaluating sustainability. However, further development of life cycle-based methodologies is necessary for assessing CE practices in an effective way.</p>
1068      <p style="font-size: 0.92rem; color: #555; line-height: 1.8; margin-bottom: 16px;"><strong>This project aims to understand the relationship between circularity and sustainability in this sector, identifying metrics and exploring the impact of circular practices on sustainability.</strong></p>
1069      <p style="font-size: 0.92rem; color: #555; line-height: 1.8; margin-bottom: 12px;">The project establishes the participation of 3 Italian Research Units:</p>
1070      <ul class="cg-desc-ru-list">
1071        <li><strong>RU1</strong>
1071 — University "G. d'Annunzio" of Chieti-Pescara (Abruzzo) — <em>Leader of the project</em></li>
1072        <li><strong>RU2</strong> — University of Messina (Sicily)</li>
1073        <li><strong>RU3</strong> — University "Aldo Moro" of Bari (Apulia)</li>
1074      </ul>
1075    </div>
1076  </div>
1077</section>
1078
1079<!-- STATS -->
1080<div class="cg-stats-section">
1081  <div class="cg-stats-inner">
1082    <div class="cg-stat"><div class="cg-stat-num">3</div><div class="cg-stat-label">Supply Chains Analysed</div></div>
1083    <div class="cg-stat"><div class="cg-stat-num">3</div><div class="cg-stat-label">Research Units</div></div>
1084    <div class="cg-stat"><div class="cg-stat-num" id="pubCount">0</div><div class="cg-stat-label">Research Outputs</div></div>
1085    <div class="cg-stat"><div class="cg-stat-num">28</div><div class="cg-stat-label">Months of Research</div></div>
1086  </div>
1087</div>
1088
1089<!-- OBIETTIVI -->
1090<section id="obiettivi" class="cg-section-full cg-objectives">
1091  <div class="cg-section" style="padding-bottom: 40px;">
1092    <div class="cg-section-header">
1093      <div class="cg-section-label">Objectives</div>
1094      <h2 class="cg-section-title">Objectives</h2>
1095    </div>
1096  </div>
1097  <div class="cg-objectives-layout" style="padding: 0 60px;">
1098    <div class="cg-objectives-center">
1099      <img src="/images/circularity-wheel.png" alt="Circularity in agri-food" />
1100    </div>
1101    <div class="cg-objectives-grid">
1102      <div class="cg-objective-card">
1103        <div class="cg-objective-icon"><svg viewBox="0 0 24 24"><path d="M3 3h18v18H3zM9 3v18M15 3v18M3 9h18M3 15h18"/></svg></div>
1104        <p>Developing a framework to assess the sustainability implications of three supply chains in the Italian agri-food sector.</p>
1105      </div>
1106      <div class="cg-objective-card">
1107        <div class="cg-objective-icon"><svg viewBox="0 0 24 24"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"/><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"/></svg></div>
1108        <p>Generating knowledge regarding methodological choices for applying life cycle-based methodologies to food products within circular supply chains.</p>
1109      </div>
1110      <div class="cg-objective-card">
1111        <div class="cg-objective-icon"><svg viewBox="0 0 24 24"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/></svg></div>
1112        <p>Identifying circularity assessment methodologies and indicators tailored to the agri-food sector.</p>
1113      </div>
1114      <div class="cg-objective-card">
1115        <div class="cg-objective-icon"><svg viewBox="0 0 24 24"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></div>
1116        <p>Establishing an approach linking circularity and sustainability assessment to aid decision-makers in making supply chains more circular while ensuring increased sustainability.</p>
1117      </div>
1118      <div class="cg-objective-card">
1119        <div class="cg-objective-icon"><svg viewBox="0 0 24 24"><path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"/></svg></div>
1120        <p>Identifying best practices, considering sustainability impacts, for structuring wine, olive oil, and bread/pasta supply chains.</p>
1121      </div>
1122    </div>
1123  </div>
1124</section>
1125
1126<!-- TEAM -->
1127<section id="team" class="cg-section-full cg-team">
1128  <div class="cg-section" style="padding-bottom: 40px;">
1129    <div class="cg-section-header">
1130      <div class="cg-section-label">Research Team</div>
1131      <h2 class="cg-section-title">Our Researchers</h2>
1132      <p class="cg-section-subtitle">An interdisciplinary team with expertise in the Circular Economy, sustainability, Life Cycle Thinking and agri-food systems.</p>
1133    </div>
1134  </div>
1135  
1136  <!-- Research Units -->
1137  <div style="padding: 0 60px; max-width: 1400px; margin: 0 auto;">
1138    <div class="cg-section-label" style="margin-bottom: 24px;">Research Units</div>
1139  </div>
1140  <div class="cg-units-grid">
1141    <div class="cg-unit-card">
1142      <img class="cg-unit-logo" src="/images/logo-uda.png" alt="Logo Università degli Studi G. d'Annunzio Chieti-Pescara" />
1143      <h3>
1143University "G. d'Annunzio"<br/>of Chieti-Pescara</h3>
1144      <p>As the CIRCULAGRIS project leader, the Chieti-Pescara team boasts extensive experience in multi- and interdisciplinary research on sustainability. The members of the unit have gained many years of consolidated research experience in Life Cycle Assessment (LCA) applied to agri-food systems.</p>
1145      <div class="cg-unit-pi">Principal Investigator: Prof. Andrea Raggi</div>
1146    </div>
1147    <div class="cg-unit-card">
1148      <img class="cg-unit-logo" src="/images/logo-unime-color.png" alt="Logo Università di Messina" />
1149      <h3>University of Messina</h3>
1150      <p>The Messina unit has experience in multi- and interdisciplinary research projects, at national and international level, where Life Cycle Thinking (LCT) tools and methods have been applied to the agri-food system, focusing specifically on the wine supply chain, mapping circular systems and adapting circularity metrics.</p>
1151      <div class="cg-unit-pi">Unit Leader: Prof. Roberta Salomone</div>
1152    </div>
1153    <div class="cg-unit-card">
1154      <img class="cg-unit-logo" src="/images/logo-uniba-color.png" alt="Logo Università di Bari Aldo Moro" />
1155      <h3>University of Bari Aldo Moro</h3>
1156      <p>The Bari unit focuses on the Environmental Life Cycle Costing (LCC) in the bread and pasta supply chains and the olive oil industry, aiming at the integration of LCA, LCC and S-LCA for the evaluation of circular systems and the definition of economic, environmental and social indicators.</p>
1157      <div class="cg-unit-pi">Unit Leader: Prof. Bruno Notarnicola</div>
1158    </div>
1159  </div>
1160
1161  <!-- View All Researchers Link -->
1162  <div style="text-align: center; margin: 40px 0 20px;">
1163    <a href="https://www.circulagris.com/researchers/" target="_top" style="display: inline-flex; align-items: center; gap: 8px; padding: 14px 32px; background: linear-gradient(135deg, #8B7535, #D4A017); color: #fff; text-decoration: none; border-radius: 50px; font-weight: 700; font-size: 0.85rem; letter-spacing: 1px; text-transform: uppercase; transition: opacity 0.3s;">View All Researchers →</a>
1164  </div>
1165
1166  <!-- Group Photo -->
1167  <div class="cg-team-group-photo">
1168    <img src="/images/team-group.jpg" alt="CIRCULAGRIS research team at workshop" />
1169  </div>
1170</section>
1171
1172<!-- ROADMAP -->
1173<section id="roadmap" class="cg-section-full cg-roadmap">
1174  <div class="cg-section" style="padding-bottom: 40px;">
1175    <div class="cg-section-header">
1176      <div class="cg-section-label">Project Phases</div>
1177      <h2 class="cg-section-title">Research Roadmap</h2>
1178    </div>
1179  </div>
1180  <div class="cg-roadmap-grid" style="padding: 0 60px;">
1181    <div class="cg-roadmap-item">
1182      <div class="cg-roadmap-num">01</div>
1183      <h3>Phase 1 — State-of-the-art and literature review</h3>
1184      <ul class="cg-roadmap-steps">
1185        <li>Step 1.1 — Identifying circularity assessment methods and indicators for the agri-food sector</li>
1186        <li>Step 1.2 — Defining circular systems in the selected agri-food supply chains</li>
1187        <li>Step 1.3 — Identifying suitable circularity assessment methods and indicators for the selected supply chains</li>
1188      </ul>
1189    </div>
1190    <div class="cg-roadmap-item">
1191      <div class="cg-roadmap-num">02</div>
1192      <h3>Phase 2 — Methodological development</h3>
1193      <ul class="cg-roadmap-steps">
1194        <li>Step 2.1 — Adapting Life Cycle Thinking (LCT) methods for the agri-food sectors</li>
1195        <li>Step 2.2 — Integrating the various sustainability issues and the circularity metrics</li>
1196      </ul>
1197    </div>
1198    <div class="cg-roadmap-item">
1199      <div class="cg-roadmap-num">03</div>
1200      <h3>Phase 3 — Applicative research</h3>
1201      <ul class="cg-roadmap-steps">
1202        <li>Step 3.1 — Assessing circularity and sustainability of the selected supply chains</li>
1203        <li>Step 3.2 — Comparing system circularity and sustainability through scenario analysis</li>
1204      </ul>
1205    </div>
1206    <div class="cg-roadmap-item">
1207      <div class="cg-roadmap-num">04</div>
1208      <h3>Phase 4 — Dissemination and communication</h3>
1209      <p>Dissemination of results through scientific publications, conferences, and stakeholder engagement activities.</p>
1210    </div>
1211  </div>
1212</section>
1213
1214<!-- RESEARCH RESULTS -->
1215<section id="ricerca" class="cg-section-full cg-research">
1216  <div style="padding: 0 60px; max-width: 1400px; margin: 0 auto;">
1217    <div class="cg-section-header" style="text-align:center;">
1218      <div class="cg-section-label" style="justify-content:center;">Research Activities</div>
1219      <h2 class="cg-section-title">Research Results</h2>
1220      <p class="cg-section-subtitle">Explore the scientific outputs of the CIRCULAGRIS project.</p>
1221      <div style="display:flex; flex-wrap:wrap; justify-content:center; gap:18px; margin-top:32px;">
1222        <a href="https://www.circulagris.com/publications/" target="_top" style="display:inline-flex; align-items:center; padding:14px 36px; background:linear-gradient(135deg,#8B7535,#D4A017); color:#fff; font-weight:700; font-size:0.9rem; letter-spacing:1.5px; text-transform:uppercase; text-decoration:none; border-radius:50px; transition:all 0.3s; box-shadow:0 4px 15px rgba(139,117,53,0.3);">Publications</a>
1223        <a href="https://www.circulagris.com/conferences/" target="_top" style="display:inline-flex; align-items:center; padding:14px 36px; background:linear-gradient(135deg,#8B7535,#D4A017); color:#fff; font-weight:700; font-size:0.9rem; letter-spacing:1.5px; text-transform:uppercase; text-decoration:none; border-radius:50px; transition:all 0.3s; box-shadow:0 4px 15px rgba(139,117,53,0.3);">Conferences</a>
1224        <a href="https://www.circulagris.com/workshops/" target="_top" style="display:inline-flex; align-items:center; padding:14px 36px; background:linear-gradient(135deg,#8B7535,#D4A017); color:#fff; font-weight:700; font-size:0.9rem; letter-spacing:1.5px; text-transform:uppercase; text-decoration:none; border-radius:50px; transition:all 0.3s; box-shadow:0 4px 15px rgba(139,117,53,0.3);">Workshops</a>
1225      </div>
1226    </div>
1227  </div>
1228</section>
1229
1230<!-- CONTATTI -->
1231<section id="contatti" class="cg-section-full cg-contact">
1232  <div class="cg-contact-inner">
1233    <div class="cg-section-header" style="text-align: center;">
1234      <div class="cg-section-label" style="justify-content: center;">Contact</div>
1235      <h2 class="cg-section-title">Contact Us</h2>
1236    </div>
1237    <p>Interested in the CIRCULAGRIS project or want to learn more about our research activities? Get in touch.</p>
1238    <div class="cg-contact-uni">Università degli Studi "G. d'Annunzio" Chieti-Pescara</div>
1239    <div class="cg-contact-loc">Viale Pindaro 42, 65127 Pescara, Italy</div>
1240    <a href="mailto:[email protected]" class="cg-contact-email">[email protected]</a>
1241    <div style="margin-top: 8px;">
1242      <a href="https://www.linkedin.com/company/circulagris-project-prin-2022" target="_blank" rel="noopener noreferrer" style="display: inline-flex; align-items: center; gap: 8px; color: #0077B5; text-decoration: none; font-size: 0.95rem; font-weight: 600; transition: opacity 0.3s;">
1243        <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="#0077B5"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>
1244        CIRCULAGRIS on LinkedIn
1245      </a>
1246    </div>
1247  </div>
1248</section>
1249
1250<!-- FOOTER -->
1251<footer class="cg-footer">
1252  <div class="cg-footer-logos">
1253    <img src="/images/logo-circulagris.png" alt="CIRCULAGRIS" style="height: 50px; filter: brightness(0) invert(1);" />
1254  </div>
1255  <div class="cg-footer-logos" style="margin-top: 16px;">
1256    <img src="/images/footer-eu-white.png" alt="Finanziato dall'Unione europea - NextGenerationEU" style="height:56px;" />
1257    <img src="/images/footer-mur-white.png" alt="Ministero dell'Università e della Ricerca" style="height:42px;" />
1258    <img src="/images/footer-italiadomani-white.png" alt="Italia Domani - PNRR" style="height:72px;" />
1259    <img src="/images/logo-uda.png" alt="UdA" style="height:80px;" />
1260    <img src="/images/logo-unime-white.png" alt="UNIME" style="height:76px;" />
1261    <img src="/images/logo-uniba.png" alt="UNIBA" style="height:80px;" />
1262  </div>
1263  <p style="margin-top: 20px;">© 2024 CIRCULAGRIS — PRIN 2022 Project | <a href="https://www.unich.it" target="_blank">Università degli Studi "G. d'Annunzio" Chieti-Pescara</a></p>
1264  <div class="cg-footer-funding">
1265    Project "Towards circular and sustainable agri-food systems: metrics for assessment (CIRCULAGRIS)" PRIN2022 (Research Project of National Interest) funded by the European Union - Next Generation EU, Mission 4, Component 2, CUP D53D23011220006.
1266  </div>
1267  <div style="margin-top: 16px; font-size: 0.72rem; color: rgba(255,255,255,0.5);">
1268    <a href="https://www.sitiwebshop.it/?utm_source=sito-cliente&utm_medium=circulagris-universita-ch" target="_blank" rel="noopener noreferrer" style="color: rgba(255,255,255,0.8); text-decoration: underline;">Powered by Webshop Human AI Automation</a>
1269  </div>
1270</footer>
1271
1272</div>
1273
1274`}})),x2=()=>(as(),x.useEffect(()=>{function e(){const t=document.querySelector(".cg-res-inst-bar"),i=document.querySelector(".cg-res-nav");t&&i&&(i.style.top=t.offsetHeight+"px")}return requestAnimationFrame(e),setTimeout(e,100),setTimeout(e,500),window.addEventListener("resize",e),window.addEventListener("load",e),()=>{window.removeEventListener("resize",e),window.removeEventListener("load",e)}},[]),I.jsx("div",{dangerouslySetInnerHTML:{__html:`
1275<style>
1276.cg-res-root *, .cg-res-root *::before, .cg-res-root *::after { margin: 0; padding: 0; box-sizing: border-box; }
1277.cg-res-root {
1278  font-family: Calibri, 'Segoe UI', sans-serif;
1279  color: #3a3a4a; line-height: 1.6; background: #FAF8F2;
1280  min-height: 100vh;
1281}
1282.cg-res-root img { max-width: 100%; }
1283
1284/* ─── INSTITUTIONAL BAR ─── */
1285.cg-res-inst-bar {
1286  position: fixed; top: 0; left: 0; right: 0; z-index: 101;
1287  background: #2A65AF;
1288  display: flex; align-items: center; justify-content: center;
1289  gap: 28px; padding: 14px 40px;
1290  border-bottom: 1px solid rgba(0,0,0,0.08);
1291  flex-wrap: wrap;
1292}
1293.cg-res-inst-bar img { height: 64px; object-fit: contain; flex-shrink: 0; }
1294.cg-res-inst-bar .cg-inst-divider {
1295  width: 1px; height: 48px; background: rgba(255,255,255,0.3); flex-shrink: 0;
1296}
1297
1298/* ─── NAV ─── */
1299.cg-res-nav {
1300  position: fixed; top: 92px; left: 0; right: 0; z-index: 100;
1301  background: rgba(255,255,255,0.92);
1302  backdrop-filter: blur(16px);
1303  padding: 18px 60px;
1304  display: flex; align-items: center; justify-content: space-between;
1305  border-bottom: 1px solid rgba(0,0,0,0.06);
1306  box-shadow: 0 2px 20px rgba(0,0,0,0.04);
1307}
1308.cg-res-nav-logo { display: flex; align-items: center; }
1309.cg-res-nav-logo img { height: 56px; object-fit: contain; margin-right: 16px; }
1310.cg-res-nav-links { display: flex; gap: 32px; list-style: none; }
1311.cg-res-nav-links a {
1312  color: #555; text-decoration: none; font-size: 0.82rem;
1313  font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase;
1314  transition: color 0.3s; position: relative; cursor: pointer;
1315}
1316.cg-res-nav-links a:hover { color: #8B7535; }
1317.cg-res-nav-links a::after {
1318  content:''; position: absolute; bottom: -6px; left: 0; width: 0; height: 2px;
1319  background: #8B7535; transition: width 0.3s;
1320}
1321.cg-res-nav-links a:hover::after { width: 100%; }
1322.cg-res-nav-links a.active { color: #8B7535; }
1323.cg-res-nav-links a.active::after { width: 100%; }
1324
1325/* ─── BURGER ─── */
1326.cg-res-burger {
1327  display: none; flex-direction: column; gap: 5px; cursor: pointer;
1328  padding: 8px; z-index: 200;
1329}
1330.cg-res-burger span {
1331  display: block; width: 24px; height: 2px; background: #3a3a4a;
1332  transition: all 0.3s; border-radius: 2px;
1333}
1334/* ─── MOBILE MENU ─── */
1335.cg-res-mobile-menu {
1336  display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0;
1337  background: #FAF8F2; z-index: 190;
1338  flex-direction: column; align-items: center; justify-content: center;
1339  gap: 24px; list-style: none; overflow: hidden;
1340}
1341.cg-res-mobile-menu.open { display: flex; }
1342.cg-res-mobile-menu a {
1343  color: #3a3a4a; text-decoration: none; font-size: 1.1rem;
1344  font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
1345  font-family: Calibri, 'Segoe UI', sans-serif; cursor: pointer;
1346  transition: color 0.3s;
1347}
1348.cg-res-mobile-menu a:hover { color: #8B7535; }
1349.cg-res-mobile-close {
1350  position: absolute; top: 20px; right: 20px;
1351  width: 40px; height: 40px; cursor: pointer;
1352  display: flex; align-items: center; justify-content: center;
1353  background: none; border: none; z-index: 200;
1354}
1355.cg-res-mobile-close::before, .cg-res-mobile-close::after {
1356  content: ''; position: absolute;
1357  width: 24px; height: 2px; background: #3a3a4a; border-radius: 2px;
1358}
1359.cg-res-mobile-close::before { transform: rotate(45deg); }
1360.cg-res-mobile-close::after { transform: rotate(-45deg); }
1361
1362.cg-res-header {
1363  background: #2A65AF;
1364  padding: 200px 60px 60px; text-align: center;
1365}
1366.cg-res-header h1 {
1367  font-family: Calibri, 'Segoe UI', sans-serif;
1368  font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 800;
1369  color: #fff; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 12px;
1370}
1371.cg-res-header p {
1372  font-size: 1rem; color: rgba(255,255,255,0.7); max-width: 600px; margin: 0 auto;
1373}
1374
1375.cg-res-section {
1376  max-width: 1200px; margin: 0 auto; padding: 60px 40px;
1377}
1378.cg-res-unit-title {
1379  font-family: Calibri, 'Segoe UI', sans-serif;
1380  font-size: 1.3rem; font-weight: 800; color: #1a1a2e;
1381  text-transform: uppercase; letter-spacing: 1px;
1382  margin-bottom: 8px; display: flex; align-items: center; gap: 16px;
1383}
1384.cg-res-unit-title img { height: 50px; border-radius: 50%; }
1385.cg-res-unit-subtitle {
1386  font-size: 0.82rem; color: #8B7535; font-weight: 600;
1387  letter-spacing: 1px; margin-bottom: 32px;
1388}
1389.cg-res-grid {
1390  display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
1391  gap: 28px; margin-bottom: 60px;
1392}
1393.cg-res-card {
1394  background: #fff; border-radius: 16px; overflow: visible;
1395  border: 1px solid rgba(0,0,0,0.06); transition: all 0.3s;
1396  display: flex; flex-direction: column; align-items: center;
1397  text-align: center; padding: 60px 20px 24px; position: relative;
1398  margin-top: 50px;
1399  border-top: 3px solid #8B7535;
1400}
1401.cg-res-card:hover { transform: translateY(-4px); box-shadow: 0 12px 30px rgba(0,0,0,0.08); }
1402.cg-res-card-img-wrap {
1403  position: absolute; top: -50px; left: 50%; transform: translateX(-50%);
1404  width: 100px; height: 100px; border-radius: 50%; overflow: hidden;
1405  border: 4px solid #fff; box-shadow: 0 4px 16px rgba(0,0,0,0.12);
1406  background: #eee;
1407}
1408.cg-res-card-img {
1409  width: 100%; height: 100%; object-fit: cover;
1410}
1411.cg-res-card-info { flex: 1; }
1412.cg-res-card-info h3 {
1413  font-family: Calibri, 'Segoe UI', sans-serif;
1414  font-size: 1rem; font-weight: 700; color: #1a1a2e; margin-bottom: 4px;
1415}
1416.cg-res-card-role {
1417  font-size: 0.72rem; color: #8B7535; font-weight: 700;
1418  letter-spacing: 1px; text-transform: uppercase; margin-bottom: 10px;
1419}
1420.cg-res-card-info p { font-size: 0.78rem; color: #777; line-height: 1.5; }
1421
1422.cg-res-divider {
1423  width: 60px; height: 3px; background: linear-gradient(90deg, #8B7535, #8E4585);
1424  margin-bottom: 24px; border-radius: 2px;
1425}
1426.cg-res-unit-desc {
1427  font-size: 0.85rem; color: #555; line-height: 1.7; margin-bottom: 36px;
1428  text-align: justify;
1429}
1430
1431@media (max-width: 900px) {
1432  .cg-res-hide-mobile { display: none !important; }
1433  .cg-res-nav-links { display: none; }
1434  .cg-res-burger { display: flex; }
1435  .cg-res-inst-bar { padding: 10px 20px; gap: 14px; flex-wrap: wrap; }
1436  .cg-res-inst-bar img { height: 44px; }
1437  .cg-res-inst-bar .cg-inst-divider { height: 32px; }
1438}
1439@media (max-width: 640px) {
1440  .cg-res-header { padding: 220px 10px 40px; }
1441  .cg-res-section { padding: 40px 10px; text-align: center; }
1442  .cg-res-grid { grid-template-columns: 1fr; }
1443  .cg-res-inst-bar { padding: 8px 6px; gap: 8px; justify-content: space-between; flex-wrap: nowrap; }
1444  .cg-res-inst-bar img { height: 32px !important; flex-shrink: 1; min-width: 0; object-fit: contain; }
1445  .cg-res-inst-bar .cg-logo-italiadomani { height: 58px !important; }
1446  .cg-res-inst-bar .cg-inst-divider { display: flex; height: 28px; background: rgba(255,255,255,0.3); width: 1px; flex-shrink: 0; }
1447  .cg-res-nav { top: auto; padding: 12px 10px; }
1448  .cg-res-card-info p { font-size: 0.75rem; text-align: center; }
1449  .cg-res-unit-title { justify-content: center; text-align: center; }
1450  .cg-res-unit-subtitle { text-align: center; }
1451  .cg-res-unit-desc { font-size: 0.8rem; text-align: center; }
1452  .cg-res-divider { margin-left: auto; margin-right: auto; }
1453  .cg-res-footer { padding: 30px 10px; }
1454  .cg-res-footer-logos { gap: 12px; }
1455  .cg-res-footer-logos img { height: 32px; }
1456}
1457/* ─── FOOTER ─── */
1458.cg-res-footer {
1459  background: #2A65AF; color: rgba(255,255,255,0.6);
1460  padding: 40px 60px; text-align: center; font-size: 0.8rem;
1461}
1462.cg-res-footer-logos {
1463  display: flex; align-items: center; justify-content: center;
1464  gap: 24px; margin-bottom: 20px; flex-wrap: wrap;
1465}
1466.cg-res-footer-logos img { height: 40px; object-fit: contain; }
1467</style>
1468
1469<div class="cg-res-root">
1470
1471  <!-- INSTITUTIONAL BAR -->
1472  <div class="cg-res-inst-bar">
1473    <img src="/images/footer-eu-white.png" alt="Finanziato dall'Unione europea - NextGenerationEU" style="height:56px;" />
1474    <div class="cg-inst-divider"></div>
1475    <img src="/images/footer-mur-white.png" alt="MUR" style="height:42px;" />
1476    <div class="cg-inst-divider"></div>
1477    <img src="/images/footer-italiadomani-white.png" alt="Italia Domani" style="height:72px;" class="cg-logo-italiadomani" />
1478    <div class="cg-inst-divider cg-res-hide-mobile"></div>
1479    <img src="/images/logo-uda.png" alt="UdA" style="height:80px;" class="cg-res-hide-mobile" />
1480    <img src="/images/logo-unime-white.png" alt="UNIME" style="height:76px;" class="cg-res-hide-mobile" />
1481    <img src="/images/logo-uniba.png" alt="UNIBA" style="height:80px;" class="cg-res-hide-mobile" />
1482  </div>
1483
1484  <!-- NAV -->
1485  <nav class="cg-res-nav">
1486    <a class="cg-res-nav-logo" href="https://www.circulagris.com/" target="_top"><img src="/images/logo-circulagris.png" alt="CIRCULAGRIS" /></a>
1487    <ul class="cg-res-nav-links">
1488      <li><a href="https://www.circulagris.com/" target="_top">Home</a></li>
1489      <li><a href="https://www.circulagris.com/researchers/" target="_top" class="active">Researchers</a></li>
1490      <li><a href="https://www.circulagris.com/conferences/" target="_top">Conferences</a></li>
1491      <li><a href="https://www.circulagris.com/workshops/" target="_top">Workshops</a></li>
1492      <li><a href="https://www.circulagris.com/publications/" target="_top">Publications</a></li>
1493    <li class="cg-lang-switch"><a href="https://www.circulagris.com/ricercatori/" target="_top" style="background:#8B7535;color:#fff !important;padding:6px 14px;border-radius:20px;font-weight:700;cursor:pointer;">IT</a></li>
1494    </ul>
1495    <div class="cg-res-burger" onclick="(function(){var m=document.getElementById('cgResMobileMenu');m.classList.toggle('open')})()">
1496      <span></span><span></span><span></span>
1497    </div>
1498  </nav>
1499
1500  <!-- MOBILE MENU -->
1501  <ul class="cg-res-mobile-menu" id="cgResMobileMenu">
1502    <button class="cg-res-mobile-close" onclick="document.getElementById('cgResMobileMenu').classList.remove('open')" aria-label="Close"></button>
1503    <li><a href="https://www.circulagris.com/" target="_top">Home</a></li>
1504    <li><a href="https://www.circulagris.com/researchers/" target="_top">Researchers</a></li>
1505    <li><a href="https://www.circulagris.com/conferences/" target="_top">Conferences</a></li>
1506    <li><a href="https://www.circulagris.com/workshops/" target="_top">Workshops</a></li>
1507    <li><a href="https://www.circulagris.com/publications/" target="_top">Publications</a></li>
1508    <li class="cg-lang-switch"><a href="https://www.circulagris.com/ricercatori/" target="_top" style="background:#8B7535;color:#fff !important;padding:6px 14px;border-radius:20px;font-weight:700;cursor:pointer;">IT</a></li>
1509  </ul>
1510
1511  <div class="cg-res-header">
1512    <h1>Our Researchers</h1>
1513    <p>A multidisciplinary team with expertise in Circular Economy, sustainability, Life Cycle Thinking and agri-food systems.</p>
1514  </div>
1515
1516  <div class="cg-res-section">
1517
1518    <!-- UNIT 1: UNICH -->
1519    <div class="cg-res-unit-title">
1520      <img src="/images/logo-uda.png" alt="UNICH" />
1521      University "G. d'Annunzio" of Chieti-Pescara
1522    </div>
1523    <div class="cg-res-unit-subtitle">Principal Investigator: Prof. Andrea Raggi</div>
1524    <div class="cg-res-divider"></div>
1525    <div class="cg-res-unit-desc">The Chieti-Pescara unit, as the project's PI, will coordinate the whole project, supervising the implementation of the various phases and activities carried out by the individual units. The Chieti-Pescara team has participated in several multi- and inter-disciplinary research projects, at national and international level, also involving engagement with stakeholders (mainly industry) and has recently led the WP5 on sustainability metrics for circular systems, within CRESTING. The Chieti-Pescara unit will also collaborate with the other units in defining methodological approaches and in carrying out the joint activities planned in the various phases. Due to their internationally recognised expertise on the Social-LCA topic, the Chieti-Pescara unit will particularly contribute to the development of a S-LCA framework to deeply comprehend social practices in the agri-food sector.<br/><br/>In addition, in full continuity with the PRIN 2017 ILCIDAF Project, the Chieti-Pescara unit will focus specifically on the wine supply chain. Indeed, the members of the unit have gained many years of consolidated research experience in the wine making industry, especially in the theoretical development and application of LCT methods and tools, and have built up a network of contacts with the relevant companies. Circular systems and/or circular practices within the wine making industry will be mapped. The
1525n the identified circularity metrics and circularity assessment methods and indicators for the agri-food sector, will be adapted to the selected circular systems, in order to verify a possible correlation between them. This correlation will be further investigated to identify which circularity practices show improved performance in terms of sustainability.</div>
1526    <div class="cg-res-grid">
1527      <div class="cg-res-card">
1528        <div class="cg-res-card-img-wrap">
1529          <img class="cg-res-card-img" src="/images/team-arzoumanidis.jpg" alt="Ioannis Arzoumanidis" />
1530        </div>
1531        <div class="cg-res-card-info">
1532          <h3>Ioannis Arzoumanidis</h3>
1533          <p>Ioannis Arzoumanidis is Senior Assistant Professor of Commodity Science at the Department of Economic Studies, University "G. D'Annunzio", Pescara, Italy. He obtained his PhD in "Innovation, Accounting, Environment and Finance". His teachings include Life Cycle Assessment for Business, Energy Management and Sustainability, and Sustainability and Responsible Tourism. For more than 17 years, he has carried out academic research. His research perspective encompasses life cycle sustainability assessment, industrial ecology, and the circular economy across various sectors and in methodological development. He has authored or co-authored more than 65 scientific publications.</p>
1534        </div>
1535      </div>
1536      <div class="cg-res-card">
1537        <div class="cg-res-card-img-wrap">
1538          <img class="cg-res-card-img" src="/images/team-petti.jpg" alt="Luigia Petti" />
1539        </div>
1540        <div class="cg-res-card-info">
1541          <h3>Luigia Petti</h3>
1542          <p>Luigia Petti is a Full Professor in Commodity Science (SECS-P/13) at the Department of Economics, University "G. d'Annunzio" of Chieti–Pescara, Italy, where she has held this position since February 2019. For more than three decades, she has carried out academic research and teaching. Her research perspective includes quality and environmental management systems, Life Cycle Sustainability Assessment, with a special focus on Social Life Cycle Assessment. Her research is mainly of an interdisciplinary nature, also involving engagement with stakeholders (mainly industry); she has participated in various research projects involving multi- and interdisciplinary collaborations, at both a national and international level.</p>
1543        </div>
1544      </div>
1545      <div class="cg-res-card">
1546        <div class="cg-res-card-img-wrap">
1547          <img class="cg-res-card-img" src="/images/team-raggi.jpg" alt="Andrea Raggi" />
1548        </div>
1549        <div class="cg-res-card-info">
1550          <h3>Andrea Raggi</h3>
1551          <div class="cg-res-card-role">Principal Investigator</div>
1552          <p>Andrea Raggi is Full Professor of Industrial Ecology and related issues at the Department of Economic Studies, University "G. D'Annunzio", Pescara, Italy. For more than 35 years he has carried out academic research and teaching. His research perspective includes environmental management systems, Life Cycle Sustainability Assessment, industrial ecology, circular economy. His research is mainly of an interdisciplinary nature, also involving engagement with stakeholders (mainly industry); he has participated in various research projects involving multi- and inter-disciplinary collaborations, both at a national and international level. He has authored or co-authored more than 270 scientific publications.</p>
1553        </div>
1554      </div>
1555      <div class="cg-res-card">
1556        <div class="cg-res-card-img-wrap">
1557          <img class="cg-res-card-img" src="/images/team-simboli.png" alt="Alberto Simboli" />
1558        </div>
1559        <div class="cg-res-card-info">
1560          <h3>Alberto Simboli</h3>
1561          <p>Alberto Simboli is Associate Professor of Commodity Sciences at the Department of Economic Studies, University "G. D'Annunzio", Pescara, Italy. He obtained his PhD in Sciences by discussing a thesis titled 'Value and wastes in production systems: an application of the lean principles to the services sector'. His research interests concern production systems, with specific focus on technological; organizational/managerial and environmental aspects. He is currently involved in national and international research activities and projects and is author of more than 80 scientific publications. Courses given at Pescara University: Technology of Production Cycles; Operations Management; Technology of recovering and recycling of materials, Closed Loop Production Systems.</p>
1562        </div>
1563      </div>
1564      <div class="cg-res-card">
1565        <div class="cg-res-card-img-wrap">
1566          <img class="cg-res-card-img" src="/images/team-tragnone.jpg" alt="Bianca Maria Tragnone" />
1567        </div>
1568        <div class="cg-res-card-info">
1569          <h3>Bianca Maria Tragnone</h3>
1570          <p>
1570Bianca Maria Tragnone is a post-doc researcher of Commodity Science at the Department of Economic Studies, University "G. D'Annunzio", Pescara, Italy. She obtained her PhD in "Business, Institution, Markets" by presenting a thesis on the role of Social Life Cycle Assessment in addressing social sustainability in supply chains. Her research perspective encompasses Life Cycle Sustainability Assessment, with a specific focus on Social Life Cycle Assessment and Social Organisational Life Cycle Assessment, and the circular economy, also in terms of methodological development.</p>
1571        </div>
1572      </div>
1573    </div>
1574
1575    <!-- UNIT 2: UNIME -->
1576    <div class="cg-res-unit-title">
1577      <img src="/images/logo-unime-color.png" alt="UNIME" />
1578      University of Messina
1579    </div>
1580    <div class="cg-res-unit-subtitle">Unit Leader: Prof. Roberta Salomone</div>
1581    <div class="cg-res-divider"></div>
1582    <div class="cg-res-unit-desc">The Messina unit will cooperate with the other research units in Phases 1 (state of the art and literature review), 2 (methodological development) and 4 (dissemination and communication), in relation to the internationally recognised expertise and knowledge of the involved team on LCA, sustainability and CE assessment. In particular, the Messina team has experience in multi and inter-disciplinary research projects, both at national and international level, where LCT tools and methods have been specifically applied to the agri-food system (e.g. it was the PI of the EMAF project PRIN 2008 and it is involved in the ILCIDAF project PRIN 2017), as well in other sectors (e.g. was involved in CRESTING project on sustainability metrics for circular systems and in the PON project THALASSA; it is also unit responsible for the University of Messina for the PO FESR SICILIA project ELETTRORIGENERA), often highlighting the problems connected in linking and integrating sustainability and circularity evaluations.<br/><br/>In addition, in full continuity with the PRIN 2017 ILCIDAF Project, the Messina unit will specifically focus on the olive oil supply chain. Indeed, the members of the unit have gained many years of consolidated research experience in the implementation of LCA and other LCT methods and tools in the olive oil making industry, both from a methodological and operational perspective. In Phase 3 (applicative research), sustainability and circularity assessment within the olive oil making industry will be carried out, the identified circularity assessment methods and indicators will be applied to the selected circular systems and these will be compared to the traditional linear ones in order to verify their life cycle sustainability performances.</div>
1583    <div class="cg-res-grid">
1584      <div class="cg-res-card">
1585        <div class="cg-res-card-img-wrap">
1586          <img class="cg-res-card-img" src="/images/researchers/gulotta.jpg" alt="Teresa Maria Gulotta" />
1587        </div>
1588        <div class="cg-res-card-info">
1589          <h3>Teresa Maria Gulotta</h3>
1590          <p>Teresa Maria Gulotta holds a PhD in Energy and Information Technologies from the University of Palermo. She is currently an Assistant Professor (type B) in Commodity Science (s.s.d. ECON-10/A) at the Department of Economics, University of Messina. Her research activities focus primarily on sustainability, Circular Economy, energy efficiency, and related assessment methodologies, with particular emphasis on Life Cycle Thinking approaches.</p>
1591        </div>
1592      </div>
1593      <div class="cg-res-card">
1594        <div class="cg-res-card-img-wrap">
1595          <img class="cg-res-card-img" src="/images/researchers/lanuzza.jpg" alt="Francesco Lanuzza" />
1596        </div>
1597        <div class="cg-res-card-info">
1598          <h3>Francesco Lanuzza</h3>
1599          <p>Francesco Lanuzza is Full Professor at the Department of Economics of the University of Messina (scientific sector ECON-10/A – Commodity Sciences). His research focuses primarily on the characterization and quality assessment of agri-food products through advanced instrumental methodologies, which allow the identification of bioactive compounds, contaminants, and quality indicators. Other research activities concern the valorization of natural resources and agro-industrial by-products within a framework of sustainability and circular economy.</p>
1600        </div>
1601      </div>
1602      <div class="cg-res-card">
1603        <div class="cg-res-card-img-wrap">
1604          <img class="cg-res-card-img" src="/images/researchers/mondello.jpg" alt="Giovanni Mondello" />
1605        </div>
1606        <div class="cg-res-card-info">
1607          <h3>Giovanni Mondello</h3>
1608          <p>Giovanni Mondello has a PhD (Doctoratus Europaeus) in Markets, Business and Consumers – curriculum Quality, Innovation and Sustainability from the University of Roma Tre. He is Assistant Professor (type B), s.s.d. ECON-10/A (Commodity Scie
1608nces), at the Department of Economics of the University of Messina. The main research areas are focused on: environmental sustainability, LCA and related evaluation methods, Circular Economy, Industrial Ecology and Industrial Symbiosis.</p>
1609        </div>
1610      </div>
1611      <div class="cg-res-card">
1612        <div class="cg-res-card-img-wrap">
1613          <img class="cg-res-card-img" src="/images/researchers/saija.jpg" alt="Giuseppe Saija" />
1614        </div>
1615        <div class="cg-res-card-info">
1616          <h3>Giuseppe Saija</h3>
1617          <p>Giuseppe Saija is Full Professor, s.s.d. ECON-10/A (Commodity Sciences), at the Department of Economics, University of Messina. His main research areas of interest are: quality and environment assessment tools and management; systems integrated management systems (quality, environment, safety, ethics, etc.), with particular reference to the agri-food sector; system and product certification; food characterisation and quality.</p>
1618        </div>
1619      </div>
1620      <div class="cg-res-card">
1621        <div class="cg-res-card-img-wrap">
1622          <img class="cg-res-card-img" src="/images/researchers/salomone.jpg" alt="Roberta Salomone" />
1623        </div>
1624        <div class="cg-res-card-info">
1625          <h3>Roberta Salomone</h3>
1626           <div class="cg-res-card-role">Unit Leader</div>
1627          <p>Roberta Salomone has a Ph.D. in Technology and Economics of Processes and Products for the Environmental Safeguard University of Catania. She is Full Professor of Commodity Science and Rector Delegate for Sustainability at the University of Messina. She is Vice President of the Italian LCA Network. She participates and participated to various research groups, also as national coordinator. Her main research themes are related to sustainability, circular economy, industrial symbiosis and Life Cycle Thinking methods.</p>
1628        </div>
1629      </div>
1630      <div class="cg-res-card">
1631        <div class="cg-res-card-img-wrap">
1632          <img class="cg-res-card-img" src="/images/researchers/scandurra.jpg" alt="Federica Scandurra" />
1633        </div>
1634        <div class="cg-res-card-info">
1635          <h3>Federica Scandurra</h3>
1636          <p>Previously, Research Fellow of the project CIRCULAGRIS, she is currently a Teaching Fellow in Economics of Climate Change at the School of Economics at University College Dublin (UCD). She has a PhD in Economics, Management and Statistics from the University of Messina. Her main research interests are the adoption and assessment of the circular economy and sustainability, with a specific focus on the agri-food sector and social engagement.</p>
1637        </div>
1638      </div>
1639    </div>
1640
1641    <!-- UNIT 3: UNIBA -->
1642    <div class="cg-res-unit-title">
1643      <img src="/images/logo-uniba-color.png" alt="UNIBA" />
1644      University of Bari Aldo Moro
1645    </div>
1646    <div class="cg-res-unit-subtitle">Unit Leader: Prof. Bruno Notarnicola</div>
1647    <div class="cg-res-divider"></div>
1648    <div class="cg-res-unit-desc">The Bari unit will work, with the other research units, on the joint activities concerning Phases 1, 2 and 4 of the proposed project. The unit will make use of its experience and knowledge regarding the application of the "Life Cycle" paradigm to product systems (including agri-food systems – e.g. the Bari unit is the PI of the ILCIDAF project - PRIN 2017).<br/><br/>Furthermore, the unit will also specifically focus on the pasta and bread supply chain. Specifically, the members of the unit have been carrying out, for many decades, research involving the application of life cycle thinking methods to agri-food systems, both from a methodological and operational perspective; such experience will be used to map the sustainability and circularity assessment within the pasta and bread industries. Once the circularity assessment methods and indicators will have been identified, these will be adapted to selected circular systems, and compared to traditional linear ones in order to verify their sustainability performance and thus prove whether circularity practices in the pasta and bread supply chains show improved performance in terms of sustainability. In particular, the Bari unit will focus on the LCA-based methodologies for quantitative and integrated assessment, such as Environmental Life Cycle Costing (LCC) applied to bread/pasta supply chain. The integration of LCA, LCC as well as the inclusion in the analysis of further external social costs (Societal life cycle c
1648osting), will allow the definition of economic, environmental and social indicators. This will represent an important result in food chains where these aspects are often separately determined and not related to each other.</div>
1649    <div class="cg-res-grid">
1650      <div class="cg-res-card">
1651        <div class="cg-res-card-img-wrap">
1652          <img class="cg-res-card-img" src="/images/team-dicapua-2.png" alt="Rosa Di Capua" />
1653        </div>
1654        <div class="cg-res-card-info">
1655          <h3>Rosa Di Capua</h3>
1656          <p>Associate Professor of Commodity Science at the Ionian Department of the University of Bari Aldo Moro. PhD in Economics and Management. Her main research lines focus on the application of industrial ecology and its tools to support resource efficiency and the circular economy, in particular industrial symbiosis in different territorial contexts and Life Cycle Assessment (LCA) applied to various product/service systems. Author of numerous contributions in international journals and conference proceedings.</p>
1657        </div>
1658      </div>
1659      <div class="cg-res-card">
1660        <div class="cg-res-card-img-wrap">
1661          <img class="cg-res-card-img" src="/images/team-esposito-2.png" alt="Benedetta Esposito" />
1662        </div>
1663        <div class="cg-res-card-info">
1664          <h3>Benedetta Esposito</h3>
1665          <p>Tenure-Track Researcher (RTT) in Commodity Science at San Raffaele Roma University. Previously research fellow at the Ionian Department of the University of Bari Aldo Moro. PhD in Big Data Management (University of Salerno, 2024). Visiting researcher at the Universidad de Cádiz (2026) and Cardiff Business School (2023). Associate Editor of the journal Business Strategy &amp; Development. Member of AISME, AIDEA, IAQUIS, Italian LCA Network and ISIE.</p>
1666        </div>
1667      </div>
1668      <div class="cg-res-card">
1669        <div class="cg-res-card-img-wrap">
1670          <img class="cg-res-card-img" src="/images/team-notarnicola-2.jpg" alt="Bruno Notarnicola" />
1671        </div>
1672        <div class="cg-res-card-info">
1673          <h3>Bruno Notarnicola</h3>
1674           <div class="cg-res-card-role">Unit Leader</div>
1675          <p>Full Professor of Commodity Science at the University of Bari Aldo Moro, formerly Director of the Ionian Department and Dean of the Second Faculty of Economics. Author of more than 250 scientific publications. His research focuses on Life Cycle Assessment (LCA) applied to the agri-food sector, industrial symbiosis and environmental monitoring. Scientific Advisor to the Italian Minister for Ecological Transition on LCA issues. President of Symbiotica srl and Scientific Director of the Talsef Laboratory at the University of Bari.</p>
1676        </div>
1677      </div>
1678      <div class="cg-res-card">
1679        <div class="cg-res-card-img-wrap">
1680          <img class="cg-res-card-img" src="/images/team-renzulli-2.png" alt="Pietro Alexander Renzulli" />
1681        </div>
1682        <div class="cg-res-card-info">
1683          <h3>Pietro Alexander Renzulli</h3>
1684          <p>Engineer and Full Professor of Commodity Science at the Ionian Department of the University of Bari Aldo Moro. MSc in Mechanical Engineering from Imperial College London, PhD from the Polytechnic University of Bari. Recognised as an LCA expert by the Joint Research Centre of the European Union. Coordinator of the Young Researchers Award of the Italian LCA Network. Author of more than 100 scientific publications.</p>
1685        </div>
1686      </div>
1687      <div class="cg-res-card">
1688        <div class="cg-res-card-img-wrap">
1689          <img class="cg-res-card-img" src="/images/team-spizzirri.png" alt="Umile Gianfranco Spizzirri" />
1690        </div>
1691        <div class="cg-res-card-info">
1692          <h3>Umile Gianfranco Spizzirri</h3>
1693          <p>Senior Chemist and Tenure-track Assistant Professor (RTDB) in Commodity Sciences at the University of Bari Aldo Moro. Over two decades of experience in Analytical Chemistry, Polymer Chemistry and sustainable technologies. PhD in "Methodologies for the Development of Molecules of Pharmacological Interest". Visiting Scientist at the University of Texas at Austin. Co-founder of the spin-off Symbiotica Srl. H-index 43 (Scopus), nearly 300 scientific publications.</p>
1694        </div>
1695      </div>
1696    </div>
1697
1698  </div>
1699
1700  <!-- FOOTER -->
1701  <footer class="cg-res-footer">
1702    <div class="cg-res-footer-logos">
1703      <img src="/images/logo-circulagris.png" alt="CIRCULAGRIS" style="height: 50px; filter: brightness(0) invert(1);" />
1704    </div>
1705    <div class="cg-res-footer-logos" style="margin-top: 16px;">
1706      <img src="/images/footer-eu-white.png" alt="Finanziato dall'Unione europea - NextGenerationEU" style="height:56px;" />
1707      <img src="/images/footer-mur-white.png" alt="Ministero dell'Università e della Ricerca" style="height:42px;" />
1708      <img src="/images/footer-italiadomani-white.png" alt="Italia Domani - PNRR" style="height:72px;" />
1709      <img src="/images/logo-uda.png" alt="UdA" style="height:80px;" />
1710      <img src="/images/logo-unime-white.png" alt="UNIME" style="height:76px;" />
1711      <img src="/images/logo-uniba.png" alt="UNIBA" style="height:80px;" />
1712    </div>
1713    <p style="margin-top: 20px;">&copy; 2024 CIRCULAGRIS &mdash; PRIN 2022 Project | <a href="https://www.unich.it" target="_blank" style="color:rgba(255,255,255,0.7);text-decoration:none;">Universit&agrave; degli Studi "G. d'Annunzio" Chieti-Pescara</a></p>
1714    <div style="max-width:800px;margin:16px auto 0;font-size:0.72rem;color:rgba(255,255,255,0.35);line-height:1.6;">
1715      Project "Towards circular and sustainable agri-food systems: metrics for assessment (CIRCULAGRIS)" PRIN2022 (Research Project of National Interest) funded by the European Union - Next Generation EU, Mission 4, Component 2, CUP D53D23011220006.
1716    </div>
1717    <div style="margin-top: 16px; font-size: 0.72rem; color: rgba(255,255,255,0.5);">
1718      <a href="https://www.sitiwebshop.it/?utm_source=sito-cliente&utm_medium=circulagris-universita-ch" target="_blank" rel="noopener noreferrer" style="color: rgba(255,255,255,0.8); text-decoration: underline;">Powered by Webshop Human AI Automation</a>
1719    </div>
1720  </footer>
1721
1722</div>
1723`}})),y2=()=>(x.useEffect(()=>{let e=0;const t=document.querySelectorAll(".cg-conv-slide"),i=t.length;if(!i)return;function n(a){t.forEach((l,c)=>{l.style.opacity=c===a?"1":"0",l.style.transform=c===a?"scale(1)":"scale(1.05)"}),document.querySelectorAll(".cg-conv-slider-dot").forEach((l,c)=>l.classList.toggle("active",c===a)),e=a}n(0);const r=setInterval(()=>{n((e+1)%i)},4e3);window.cgConvSliderPrev=()=>n((e-1+i)%i),window.cgConvSliderNext=()=>n((e+1)%i),window.cgConvSliderGoTo=a=>n(a);function o(){const a=document.querySelector(".cg-conv-inst-bar"),s=document.querySelector(".cg-conv-nav");a&&s&&(s.style.top=a.offsetHeight+"px")}return requestAnimationFrame(o),setTimeout(o,100),setTimeout(o,500),window.addEventListener("resize",o),window.addEventListener("load",o),()=>{clearInterval(r),window.removeEventListener("resize",o),window.removeEventListener("load",o)}},[]),I.jsx("div",{dangerouslySetInnerHTML:{__html:`
1724<style>
1725.cg-conv-root *, .cg-conv-root *::before, .cg-conv-root *::after { margin: 0; padding: 0; box-sizing: border-box; }
1726.cg-conv-root {
1727  font-family: Calibri, 'Segoe UI', sans-serif;
1728  color: #3a3a4a; line-height: 1.6; background: #FAF8F2;
1729  min-height: 100vh;
1730}
1731.cg-conv-root img { max-width: 100%; }
1732
1733/* ─── INSTITUTIONAL BAR ─── */
1734.cg-conv-inst-bar {
1735  position: fixed; top: 0; left: 0; right: 0; z-index: 101;
1736  background: #2A65AF;
1737  display: flex; align-items: center; justify-content: center;
1738  gap: 28px; padding: 14px 40px;
1739  border-bottom: 1px solid rgba(0,0,0,0.08);
1740  flex-wrap: wrap;
1741}
1742.cg-conv-inst-bar img { height: 64px; object-fit: contain; flex-shrink: 0; }
1743.cg-conv-inst-bar .cg-conv-divider {
1744  width: 1px; height: 48px; background: rgba(255,255,255,0.3); flex-shrink: 0;
1745}
1746
1747/* ─── NAV ─── */
1748.cg-conv-nav {
1749  position: fixed; top: 92px; left: 0; right: 0; z-index: 100;
1750  background: rgba(255,255,255,0.92);
1751  backdrop-filter: blur(16px);
1752  padding: 18px 60px;
1753  display: flex; align-items: center; justify-content: space-between;
1754  border-bottom: 1px solid rgba(0,0,0,0.06);
1755  box-shadow: 0 2px 20px rgba(0,0,0,0.04);
1756}
1757.cg-conv-nav-logo { display: flex; align-items: center; }
1758.cg-conv-nav-logo img { height: 56px; object-fit: contain; margin-right: 16px; }
1759.cg-conv-nav-links { display: flex; gap: 32px; list-style: none; }
1760.cg-conv-nav-links a {
1761  color: #555; text-decoration: none; font-size: 0.82rem;
1762  font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase;
1763  transition: color 0.3s; position: relative; cursor: pointer;
1764}
1765.cg-conv-nav-links a:hover { color: #8B7535; }
1766.cg-conv-nav-links a::after {
1767  content:''; position: absolute; bottom: -6px; left: 0; width: 0; height: 2px;
1768  background: #8B7535; transition: width 0.3s;
1769}
1770.cg-conv-nav-links a:hover::after { width: 100%; }
1771.cg-conv-nav-links a.active { color: #8B7535; }
1772.cg-conv-nav-links a.active::after { width: 100%; }
1773
1774/* ─── BURGER ─── */
1775.cg-conv-burger {
1776  display: none; flex-direction: column; gap: 5px; cursor: pointer;
1777  padding: 8px; z-index: 200;
1778}
1779.cg-conv-burger span {
1780  display: block; width: 24px; height: 2px; background: #3a3a4a;
1781  transition: all 0.3s; border-radius: 2px;
1782}
1783.cg-conv-mobile-menu {
1784  display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0;
1785  background: #FAF8F2; z-index: 190;
1786  flex-direction: column; align-items: center; justify-content: center;
1787  gap: 24px; list-style: none; overflow: hidden;
1788}
1789.cg-conv-mobile-menu.open { display: flex; }
1790.cg-conv-mobile-menu a {
1791  color: #3a3a4a; text-decoration: none; font-size: 1.1rem;
1792  font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
1793  font-family: Calibri, 'Segoe UI', sans-serif; cursor: pointer;
1794  transition: color 0.3s;
1795}
1796.cg-conv-mobile-menu a:hover { color: #8B7535; }
1797.cg-conv-mobile-close {
1798  position: absolute; top: 20px; right: 20px;
1799  width: 40px; height: 40px; cursor: pointer;
1800  display: flex; align-items: center; justify-content: center;
1801  background: none; border: none; z-index: 200;
1802}
1803.cg-conv-mobile-close::before, .cg-conv-mobile-close::after {
1804  content: ''; position: absolute;
1805  width: 24px; height: 2px; background: #3a3a4a; border-radius: 2px;
1806}
1807.cg-conv-mobile-close::before { transform: rotate(45deg); }
1808.cg-conv-mobile-close::after { transform: rotate(-45deg); }
1809
1810/* ─── HEADER ─── */
1811.cg-conv-header {
1812  background: #2A65AF;
1813  padding: 200px 60px 60px; text-align: center;
1814}
1815.cg-conv-header h1 {
1816  font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 800;
1817  color: #fff; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 12px;
1818}
1819.cg-conv-header p {
1820  font-size: 1rem; color: rgba(255,255,255,0.7); max-width: 650px; margin: 0 auto;
1821}
1822
1823/* ─── SLIDESHOW ─── */
1824.cg-conv-slideshow-section {
1825  max-width: 1100px; margin: 0 auto; padding: 40px 40px 60px;
1826}
1827.cg-conv-slideshow-title {
1828  font-size: 1.4rem; font-weight: 800; color: #1a1a2e;
1829  text-transform: uppercase; letter-spacing: 1px; margin-bottom: 8px;
1830}
1831.cg-conv-slideshow-sub {
1832  font-size: 0.95rem; color: #777; margin-bottom: 24px;
1833}
1834.cg-conv-slider-wrap {
1835  position: relative; width: 100%; max-width: 600px; margin: 0 auto;
1836  aspect-ratio: 16/10; border-radius: 16px; overflow: hidden;
1837  background: #eee;
1838}
1839.cg-conv-slide.cg-fit-contain { object-fit: contain; background: #f4f1e8; }
1840.cg-conv-slide {
1841  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
1842  object-fit: cover; opacity: 0;
1843  transition: opacity 0.8s ease, transform 0.8s ease;
1844}
1845.cg-conv-slider-arrow {
1846  position: absolute; top: 50%; transform: translateY(-50%);
1847  width: 44px; height: 44px; border-radius: 50%;
1848  background: rgba(255,255,255,0.85); border: none;
1849  cursor: pointer; font-size: 1.2rem; color: #1a1a2e;
1850  display: flex; align-items: center; justify-content: center;
1851  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
1852  transition: background 0.3s; z-index: 5;
1853}
1854.cg-conv-slider-arrow:hover { background: #fff; }
1855.cg-conv-slider-arrow.left { left: 16px; }
1856.cg-conv-slider-arrow.right { right: 16px; }
1857.cg-conv-slider-dots {
1858  display: flex; justify-content: center; gap: 8px; margin-top: 16px;
1859}
1860.cg-conv-slider-dot {
1861  width: 10px; height: 10px; border-radius: 50%;
1862  background: rgba(139,117,53,0.25); border: none; cursor: pointer;
1863  transition: background 0.3s, transform 0.3s;
1864}
1865.cg-conv-slider-dot.active {
1866  background: #8B7535; transform: scale(1.3);
1867}
1868
1869/* ─── CONTENT ─── */
1870.cg-conv-section {
1871  max-width: 1100px; margin: 0 auto; padding: 40px 40px 60px;
1872}
1873
1874/* ─── UNI BLOCK ─── */
1875.cg-conv-uni-block { margin-bottom: 64px; }
1876.cg-conv-uni-header {
1877  display: flex; align-items: center; gap: 16px;
1878  margin-bottom: 8px;
1879}
1880.cg-conv-uni-header img { height: 50px; border-radius: 50%; }
1881.cg-conv-uni-header h2 {
1882  font-size: 1.3rem; font-weight: 800; color: #1a1a2e;
1883  text-transform: uppercase; letter-spacing: 1px;
1884}
1885.cg-conv-uni-subtitle {
1886  font-size: 0.82rem; color: #8B7535; font-weight: 600;
1887  letter-spacing: 1px; margin-bottom: 24px;
1888}
1889.cg-conv-uni-divider {
1890  width: 60px; height: 3px; background: linear-gradient(90deg, #8B7535, #8E4585);
1891  margin-bottom: 28px; border-radius: 2px;
1892}
1893
1894/* ─── CONF ITEMS ─── */
1895.cg-conv-item {
1896  padding: 24px 0;
1897  border-bottom: 1px solid rgba(139,117,53,0.12);
1898}
1899.cg-conv-item:last-child { border-bottom: none; }
1900.cg-conv-event {
1901  font-size: 1.05rem; font-weight: 700; color: #1a1a2e;
1902  margin-bottom: 4px; line-height: 1.4;
1903}
1904.cg-conv-details {
1905  font-size: 0.82rem; color: #8B7535; font-weight: 600;
1906  margin-bottom: 8px;
1907}
1908.cg-conv-type {
1909  display: inline-block;
1910  font-size: 0.7rem; font-weight: 700; text-transform: uppercase;
1911  padding: 3px 10px; border-radius: 20px; letter-spacing: 0.5px;
1912  margin-bottom: 8px;
1913}
1914.cg-conv-type-oral { background: rgba(142,69,133,0.12); color: #8E4585; }
1915.cg-conv-type-poster { background: rgba(139,117,53,0.12); color: #8B7535; }
1916.cg-conv-authors {
1917  font-size: 0.82rem; color: #777; line-height: 1.5;
1918}
1919.cg-conv-title-text {
1920  font-style: italic; color: #555; font-size: 0.88rem;
1921  margin-top: 4px;
1922}
1923
1924/* ─── FOOTER ─── */
1925.cg-conv-footer {
1926  background: #2A65AF; padding: 40px 60px; text-align: center;
1927  color: rgba(255,255,255,0.5); font-size: 0.78rem; line-height: 1.8;
1928}
1929.cg-conv-footer-logos {
1930  display: flex; justify-content: center; gap: 24px; flex-wrap: wrap;
1931  align-items: center;
1932}
1933.cg-conv-footer-logos img { height: 44px; }
1934.cg-conv-footer a { color: rgba(255,255,255,0.7); text-decoration: none; }
1935.cg-conv-footer-funding {
1936  max-width: 800px; margin: 16px auto 0; font-size: 0.72rem;
1937  color: rgba(255,255,255,0.35); line-height: 1.6;
1938}
1939
1940@media (max-width: 900px) {
1941  .cg-conv-hide-mobile { display: none !important; }
1942  .cg-conv-nav-links { display: none; }
1943  .cg-conv-burger { display: flex; }
1944  .cg-conv-inst-bar { padding: 10px 20px; gap: 14px; flex-wrap: wrap; }
1945  .cg-conv-inst-bar img { height: 44px; }
1946  .cg-conv-inst-bar .cg-conv-divider { height: 32px; }
1947}
1948@media (max-width: 640px) {
1949  .cg-conv-header { padding: 220px 10px 40px; }
1950  .cg-conv-section, .cg-conv-slideshow-section { padding: 30px 10px; text-align: center; }
1951  .cg-conv-inst-bar { padding: 8px 6px; gap: 8px; justify-content: space-between; flex-wrap: nowrap; }
1952  .cg-conv-inst-bar img { height: 32px !important; flex-shrink: 1; min-width: 0; object-fit: contain; }
1953  .cg-conv-inst-bar .cg-logo-italiadomani { height: 58px !important; }
1954  .cg-conv-inst-bar .cg-conv-divider { display: flex; height: 28px; background: rgba(255,255,255,0.3); width: 1px; flex-shrink: 0; }
1955  .cg-conv-nav { top: auto; padding: 12px 10px; }
1956  .cg-conv-event { font-size: 0.92rem; text-align: center; }
1957  .cg-conv-item { padding: 16px 0; text-align: center; }
1958  .cg-conv-uni-header { justify-content: center; text-align: center; }
1959  .cg-conv-uni-subtitle { text-align: center; }
1960  .cg-conv-uni-divider { margin-left: auto; margin-right: auto; }
1961  .cg-conv-slideshow-title { text-align: center; }
1962  .cg-conv-slideshow-sub { text-align: center; }
1963  .cg-conv-footer { padding: 30px 10px; }
1964  .cg-conv-footer-logos { gap: 12px; }
1965  .cg-conv-footer-logos img { height: 32px; }
1966}
1967</style>
1968
1969<div class="cg-conv-root">
1970
1971  <!-- INSTITUTIONAL BAR -->
1972  <div class="cg-conv-inst-bar">
1973    <img src="/images/footer-eu-white.png" alt="Finanziato dall'Unione europea - NextGenerationEU" style="height:56px;" />
1974    <div class="cg-conv-divider"></div>
1975    <img src="/images/footer-mur-white.png" alt="MUR" style="height:42px;" />
1976    <div class="cg-conv-divider"></div>
1977    <img src="/images/footer-italiadomani-white.png" alt="Italia Domani" style="height:72px;" class="cg-logo-italiadomani" />
1978    <div class="cg-conv-divider cg-conv-hide-mobile"></div>
1979    <img src="/images/logo-uda.png" alt="UdA" style="height:80px;" class="cg-conv-hide-mobile" />
1980    <img src="/images/logo-unime-white.png" alt="UNIME" style="height:76px;" class="cg-conv-hide-mobile" />
1981    <img src="/images/logo-uniba.png" alt="UNIBA" style="height:80px;" class="cg-conv-hide-mobile" />
1982  </div>
1983
1984  <!-- NAV -->
1985  <nav class="cg-conv-nav">
1986    <a class="cg-conv-nav-logo" href="https://www.circulagris.com/" target="_top"><img src="/images/logo-circulagris.png" alt="CIRCULAGRIS" /></a>
1987    <ul class="cg-conv-nav-links">
1988      <li><a href="https://www.circulagris.com/" target="_top">Home</a></li>
1989      <li><a href="https://www.circulagris.com/researchers/" target="_top">Researchers</a></li>
1990      <li><a href="https://www.circulagris.com/conferences/" target="_top" class="active">Conferences</a></li>
1991      <li><a href="https://www.circulagris.com/workshops/" target="_top">Workshops</a></li>
1992      <li><a href="https://www.circulagris.com/publications/" target="_top">Publications</a></li>
1993    <li class="cg-lang-switch"><a href="https://www.circulagris.com/conferenze/" target="_top" style="background:#8B7535;color:#fff !important;padding:6px 14px;border-radius:20px;font-weight:700;cursor:pointer;">IT</a></li>
1994    </ul>
1995    <div class="cg-conv-burger" onclick="(function(){var m=document.getElementById('cgConvMobileMenu');m.classList.toggle('open')})()">
1996      <span></span><span></span><span></span>
1997    </div>
1998  </nav>
1999
2000  <!-- MOBILE MENU -->
2001  <ul class="cg-conv-mobile-menu" id="cgConvMobileMenu">
2002    <button class="cg-conv-mobile-close" onclick="document.getElementById('cgConvMobileMenu').classList.remove('open')" aria-label="Close"></button>
2003    <li><a href="https://www.circulagris.com/" target="_top">Home</a></li>
2004    <li><a href="https://www.circulagris.com/researchers/" target="_top">Researchers</a></li>
2005    <li><a href="https://www.circulagris.com/conferences/" target="_top">Conferences</a></li>
2006    <li><a href="https://www.circulagris.com/workshops/" target="_top">Workshops</a></li>
2007    <li><a href="https://www.circulagris.com/publications/" target="_top">Publications</a></li>
2008    <li class="cg-lang-switch"><a href="https://www.circulagris.com/conferenze/" target="_top" style="background:#8B7535;color:#fff !important;padding:6px 14px;border-radius:20px;font-weight:700;cursor:pointer;">IT</a></li>
2009  </ul>
2010
2011  <!-- HEADER -->
2012   <div class="cg-conv-header">
2013     <h1>Conferences</h1>
2014     <p>Scientific contributions at Italian and international conferences.</p>
2015   </div>
2016
2017
2018   <!-- CONFERENCES LIST -->
2019   <div class="cg-conv-section">
2020
2021     <div class="cg-conv-item">
2022       <div class="cg-conv-event">30th Annual International Conference of ISDRS on Sustainable Development Research</div>
2023       <div class="cg-conv-details">10–14 June 2024 · Kathmandu, Nepal</div>
2024       <span class="cg-conv-type cg-conv-type-oral">Oral Presentation</span>
2025       <div class="cg-conv-authors">Raggi A., Arzoumanidis I., Petti L., Simboli A., Di Capua R., Renzulli P.A., Spizzirri G.U., Notarnicola B., Lanuzza F., Mondello G., Saija G., Salomone R.</div>
2026       <div class="cg-conv-title-text">"The CIRCULAGRIS project for developing metrics for circularity and sustainability in Italian agri-food systems"</div>
2027     </div>
2028
2029     <div class="cg-conv-item">
2030       <div class="cg-conv-event">30th Annual International Conference of ISDRS on Sustainable Development Research</div>
2031       <div class="cg-conv-details">10–14 June 2024 · Kathmandu, Nepal</div>
2032       <span class="cg-conv-type cg-conv-type-poster">Poster Presentation</span>
2033       <div class="cg-conv-authors">Salomone R., Scandurra F., Mondello G., Saija G., Lanuzza F.</div>
2034       <div class="cg-conv-title-text">"Circularity and sustainability indicators for the agrifood sector: the case of olive oil supply chain"</div>
2035     </div>
2036
2037     <div class="cg-conv-item">
2038       <div class="cg-conv-event">14th International Conference on Life Cycle Assessment of Food (LCA Food 2024)</div>
2039       <div class="cg-conv-details">8–12 September 2024 · Barcelona, Spain</div>
2040       <span class="cg-conv-type cg-conv-type-poster">Poster Presentation</span>
2041       <div class="cg-conv-authors">Raggi A., Arzoumanidis I., Petti L., Simboli A., Di Capua R., Renzulli P.A., Notarnicola B., Lanuzza F., Mondello G., Salomone R.</div>
2042       <div class="cg-conv-title-text">"Circularity and sustainability metrics for Italian agri-food systems: the CIRCULAGRIS project"</div>
2043     </div>
2044
2045     <div class="cg-conv-item">
2046       <div class="cg-conv-event">18th Conference of the Italian LCA Network Association</div>
2047       <div class="cg-conv-details">3–5 July 2024 · Pescara, Italy</div>
2048       <span class="cg-conv-type cg-conv-type-poster">Poster Presentation</span>
2049       <div class="cg-conv-authors">Salomone R., Scandurra F., Mondello G., Saija G., Lanuzza F.</div>
2050       <div class="cg-conv-title-text">"Circularity metrics in the agri-food sector and olive oil industry: a scoping literature review"</div>
2051     </div>
2052
2053     <div class="cg-conv-item">
2054       <div class="cg-conv-event">1st International Conference "Circular Economy: the Pathway towards a Sustainable Development"</div>
2055       <div class="cg-conv-details">12–13 September 2024 · Chania, Greece</div>
2056       <span class="cg-conv-type cg-conv-type-poster">Poster Presentation</span>
2057       <div class="cg-conv-authors">Raggi A., Arzoumanidis I., Petti L., Simboli A., Di Capua R., Renzulli P.A., Spizzirri G.U., Notarnicola B., Lanuzza F., Mondello G., Saija G., Salomone R.</div>
2058       <div class="cg-conv-title-text">"Measuring circularity and sustainability in Italian agri-food systems: the CIRCULAGRIS project"</div>
2059     </div>
2060
2061     <div class="cg-conv-item">
2062       <div class="cg-conv-event">IAQUIS 2024 Conference</div>
2063       <div class="cg-conv-details">11–14 September 2024 · Viterbo, Italy</div>
2064       <span class="cg-conv-type cg-conv-type-oral">Oral Presentation</span>
2065       <div class="cg-conv-authors">Esposito B., Notarnicola B., Di Capua R., Renzulli P.A.</div>
2066       <div class="cg-conv-title-text">"Unravelling circular best practices in the pasta and bread supply chains: insights from Italy"</div>
2067     </div>
2068
2069     <div class="cg-conv-item">
2070       <div class="cg-conv-event">IAQUIS 2024 Conference</div>
2071       <div class="cg-conv-details">11–14 September 2024 · Viterbo, Italy</div>
2072       <span class="cg-conv-type cg-conv-type-oral">Oral Presentation</span>
2073       <div class="cg-conv-authors">Salomone R., Scandurra F., Mondello G., Saija G., Lanuzza F.</div>
2074       <div class="cg-conv-title-text">"Circular economy metrics in the agri-food sector: an applicative study in the olive oil industry"</div>
2075     </div>
2076
2077     <div class="cg-conv-item">
2078       <div class="cg-conv-event">32nd Congress of the Italian Academy of Commodity Science</div>
2079       <div class="cg-conv-details">19–20 September 2024 · Lecce, Italy</div>
2080       <span class="cg-conv-type cg-conv-type-oral">Oral Presentation</span>
2081       <div class="cg-conv-authors">Salomone R., Scandurra F., Mondello G., Saija G., Lanuzza F.</div>
2082       <div class="cg-conv-title-text">"Measuring circularity and sustainability in the olive oil supply chain: an overview of available metrics"</div>
2083     </div>
2084
2085     <div class="cg-conv-item">
2086       <div class="cg-conv-event">19th Conference of the Italian LCA Network Association</div>
2087       <div class="cg-conv-details">19–21 March 2025 · Cortina d'Ampezzo, Italy</div>
2088       <span class="cg-conv-type cg-conv-type-oral">Oral Presentation</span>
2089       <div class="cg-conv-authors">Raggi A., Salomone R., Notarnicola B., Arzoumanidis I., Astuto F., Di Capua R., Esposito B., Lanuzza F., Mondello G., Petti L., Renzulli P.A., Saija G., Scandurra F., Simboli A., Tragnone B.M.</div>
2090       <div class="cg-conv-title-text">"Measuring circularity in agri-food: a methodological proposal for the selection and classification of indicators"</div>
2091     </div>
2092
2093     <div class="cg-conv-item">
2094       <div class="cg-conv-event">19th Conference of the Italian LCA Network Association</div>
2095       <div class="cg-conv-details">19–21 March 2025 · Cortina d'Ampezzo, Italy</div>
2096       <span class="cg-conv-type cg-conv-type-poster">Poster Presentation</span>
2097       <div class="cg-conv-authors">Arzoumanidis I., Petti L., Simboli A., Tragnone B.M., Raggi A.</div>
2098       <div class="cg-conv-title-text">"Circularity indicators for the agri-food sector and the wine industry"</div>
2099     </div>
2100
2101     <div class="cg-conv-item">
2102       <div class="cg-conv-event">19th Conference of the Italian LCA Network Association</div>
2103       <div class="cg-conv-details">19–21 March 2025 · Cortina d'Ampezzo, Italy</div>
2104       <span class="cg-conv-type cg-conv-type-poster">Poster Presentation</span>
2105       <div class="cg-conv-authors">Salomone R., Scandurra F., Mondello G., Saija G., Lanuzza F.</div>
2106       <div class="cg-conv-title-text">"Circular economy in the olive oil industry: evaluating best practices through life cycle assessment"</div>
2107     </div>
2108
2109     <div class="cg-conv-item">
2110       <div class="cg-conv-event">ECOMED 2025 — Seminario "Guidare la Transizione Circolare: Innovazione, Sostenibilità e Metodi di Valutazione"</div>
2111       <div class="cg-conv-details">15 April 2025 · Catania, Italy</div>
2112       <span class="cg-conv-type cg-conv-type-oral">Oral Presentation</span>
2113       <div class="cg-conv-authors">Salomone R.</div>
2114       <div class="cg-conv-title-text">"Valutazione della sostenibilità e circolarità nelle filiere agro-alimentari: il progetto CIRCULAGRIS"</div>
2115     </div>
2116
2117     <div class="cg-conv-item">
2118       <div class="cg-conv-event">Second openLCA.conf</div>
2119       <div class="cg-conv-details">9–11 April 2025 · Berlin, Germany</div>
2120       <span class="cg-conv-type cg-conv-type-poster">Poster Presentation</span>
2121       <div class="cg-conv-authors">Tragnone B.M., Arzoumanidis I., Petti L., Simboli A., Raggi A.</div>
2122       <div class="cg-conv-title-text">"Toward circular and sustainable wine supply chains: a social insight"</div>
2123     </div>
2124
2125     <div class="cg-conv-item">
2126       <div class="cg-conv-event">31st Annual Conference of the Sustainable Development Research Society (ISDRS)</div>
2127       <div class="cg-conv-details">8–12 July 2025 · Budapest, Hungary</div>
2128       <span class="cg-conv-type cg-conv-type-oral">Oral Presentation</span>
2129       <div class="cg-conv-authors">Raggi A., Salomone R., Notarnicola B., Arzoumanidis I., Astuto F., Di Capua R., Esposito B., Lanuzza F., Mondello G., Petti L., Renzulli P.A., Saija G., Scandurra F., Simboli A., Tragnone B.M.</div>
2130       <div class="cg-conv-title-text">"Measuring circularity in agri-food: a methodological proposal for the selection and classification of indicators"</div>
2131     </div>
2132
2133     <div class="cg-conv-item">
2134       <div class="cg-conv-event">2nd International Conference "Circular Economy: the Pathway towards a Sustainable Development"</div>
2135       <div class="cg-conv-details">17–19 September 2025 · Chania, Greece</div>
2136       <span class="cg-conv-type cg-conv-type-poster">Poster Presentation</span>
2137       <div class="cg-conv-authors">Tragnone B.M., Arzoumanidis I., Petti L., Simboli A., Raggi A.</div>
2138       <div class="cg-conv-title-text">"Identification of agri-food Social Life Cycle Assessment material themes"</div>
2139     </div>
2140
2141     <div class="cg-conv-item">
2142       <div class="cg-conv-event">Workshop "Application of Life Cycle Thinking to the agri-food sector" — Italian LCA Network Association</div>
2143       <div class="cg-conv-details">24–25 September 2025 · Reggio Calabria, Italy</div>
2144       <span class="cg-conv-type cg-conv-type-oral">Oral Presentation</span>
2145       <div class="cg-conv-authors">Arzoumanidis I., Tragnone B.M., Petti L., Chiusano L., Raggi A.</div>
2146       <div class="cg-conv-title-text">"Environmental sustainability of circular practices in the wine supply chain: insights from a case study"</div>
2147     </div>
2148
2149     <div class="cg-conv-item">
2150       <div class="cg-conv-event">41st Conference of the Italian Academy of Business Administration</div>
2151       <div class="cg-conv-details">22–23 January 2026 · Milan, Italy</div>
2152       <span class="cg-conv-type cg-conv-type-oral">Oral Presentation</span>
2153       <div class="cg-conv-authors">Tragnone B.M., Arzoumanidis I., Petti L., Chiusano L., Raggi A.</div>
2154       <div class="cg-conv-title-text">"Circular and sustainable solutions in the wine sector: a case study"</div>
2155     </div>
2156
2157     <div class="cg-conv-item">
2158       <div class="cg-conv-event">Re-Think – Circular Economy Forum 2024</div>
2159       <div class="cg-conv-details">2–4 October 2024 · Taranto, Italy</div>
2160       <span class="cg-conv-type cg-conv-type-oral">Oral Presentation</span>
2161       <div class="cg-conv-authors">Notarnicola B., Renzulli P.A., Di Capua R., Esposito B.</div>
2162       <div class="cg-conv-title-text">"Necessità di una metrica per quantificare la sostenibilità derivante dalla valorizzazione di materiali e residui: il ruolo della LCA"</div>
2163     </div>
2164
2165     <div class="cg-conv-item">
2166       <div class="cg-conv-event">19th Conference of the Italian LCA Network Association</div>
2167       <div class="cg-conv-details">19–21 March 2025 · Cortina d'Ampezzo, Italy</div>
2168       <span class="cg-conv-type cg-conv-type-poster">Poster Presentation</span>
2169       <div class="cg-conv-authors">Esposito B., Notarnicola B., Di Capua R., Renzulli P.A.</div>
2170       <div class="cg-conv-title-text">"Il Life Cycle Costing come Strumento per l'Economia Circolare nel Settore Agroalimentare: Una Revisione Sistematica della Letteratura" — In press</div>
2171     </div>
2172
2173     <div class="cg-conv-item">
2174       <div class="cg-conv-event">AFLUM 2026 International Conference — "The New Sustainability Agenda: Addressing Environmental and Social Challenges – Climate, Circularity, Biodiversity and Equity in Uncertain Times"</div>
2175       <div class="cg-conv-details">4–5 June 2026 · Bari, Italy</div>
2176       <span class="cg-conv-type cg-conv-type-oral">Oral Presentation</span>
2177       <div class="cg-conv-authors">Notarnicola B., Astuto F., De Gennaro S., Di Capua R., Esposito B., Renzulli P.A., Spizzirri U.G., Stasi G.</div>
2178       <div class="cg-conv-title-text">"Integrating Environmental and Circularity Metrics in the Pasta Supply Chain: a Comparative Assessment of Circular and Linear Alternatives"</div>
2179     </div>
2180
2181   </div>
2182
2183
2184  <!-- PHOTO SLIDESHOW -->
2185  <div class="cg-conv-slideshow-section">
2186    <h3 class="cg-conv-slideshow-title">Photo Gallery</h3>
2187    <p class="cg-conv-slideshow-sub">Moments from our conference participations.</p>
2188    <div class="cg-conv-slider-wrap">
2189      <img class="cg-conv-slide" src="/images/conf-milano-1.jpg" alt="AIDEA 2026 - Milan" />
2190      <img class="cg-conv-slide" src="/images/conf-cortina-new-1.jpg" alt="XIX Convegno Rete Italiana LCA - Cortina d'Ampezzo" />
2191      <img class="cg-conv-slide" src="/images/conf-cortina-new-2.jpg" alt="XIX Convegno Rete Italiana LCA - Cortina d'Ampezzo" />
2192      <img class="cg-conv-slide" src="/images/conf-barcellona-new.jpg" alt="LCA Food 2024 - Barcelona" />
2193      <img class="cg-conv-slide" src="/images/conf-messina-welcome.jpg" alt="Institutional Welcome - University of Messina" />
2194      <img class="cg-conv-slide" src="/images/conf-messina-opening.jpg" alt="Opening session - University of Messina" />
2195      <img class="cg-conv-slide" src="/images/conf-messina-platea.jpg" alt="Audience - University of Messina" />
2196      <img class="cg-conv-slide cg-fit-contain" src="/images/conf-messina-registration.jpg" alt="Registration desk - University of Messina" />
2197      <img class="cg-conv-slide cg-fit-contain" src="/images/conf-rilca-2025.jpg" alt="RILCA 2025" />
2198      <img class="cg-conv-slide" src="/images/conf-rethink-tondo.jpg" alt="ReThink - University of Bari Aldo Moro" />
2199      <img class="cg-conv-slide cg-fit-contain" src="/images/conf-unich.jpg" alt="Workshop - G. d'Annu
2199nzio University of Chieti-Pescara" />
2200      <img class="cg-conv-slide" src="/images/conf-uniba.jpg" alt="Workshop - University of Bari Aldo Moro" />
2201      <button class="cg-conv-slider-arrow left" onclick="cgConvSliderPrev()">←</button>
2202      <button class="cg-conv-slider-arrow right" onclick="cgConvSliderNext()">→</button>
2203    </div>
2204    <div class="cg-conv-slider-dots">
2205      <button class="cg-conv-slider-dot" onclick="cgConvSliderGoTo(0)"></button>
2206      <button class="cg-conv-slider-dot" onclick="cgConvSliderGoTo(1)"></button>
2207      <button class="cg-conv-slider-dot" onclick="cgConvSliderGoTo(2)"></button>
2208      <button class="cg-conv-slider-dot" onclick="cgConvSliderGoTo(3)"></button>
2209      <button class="cg-conv-slider-dot" onclick="cgConvSliderGoTo(4)"></button>
2210      <button class="cg-conv-slider-dot" onclick="cgConvSliderGoTo(5)"></button>
2211      <button class="cg-conv-slider-dot" onclick="cgConvSliderGoTo(6)"></button>
2212      <button class="cg-conv-slider-dot" onclick="cgConvSliderGoTo(7)"></button>
2213      <button class="cg-conv-slider-dot" onclick="cgConvSliderGoTo(8)"></button>
2214      <button class="cg-conv-slider-dot" onclick="cgConvSliderGoTo(9)"></button>
2215      <button class="cg-conv-slider-dot" onclick="cgConvSliderGoTo(10)"></button>
2216      <button class="cg-conv-slider-dot" onclick="cgConvSliderGoTo(11)"></button>
2217    </div>
2218  </div>
2219
2220  <!-- FOOTER -->
2221  <footer class="cg-conv-footer">
2222    <div class="cg-conv-footer-logos">
2223      <img src="/images/logo-circulagris.png" alt="CIRCULAGRIS" style="height: 50px; filter: brightness(0) invert(1);" />
2224    </div>
2225    <div class="cg-conv-footer-logos" style="margin-top: 16px;">
2226      <img src="/images/footer-eu-white.png" alt="Finanziato dall'Unione europea - NextGenerationEU" style="height:56px;" />
2227      <img src="/images/footer-mur-white.png" alt="Ministero dell'Università e della Ricerca" style="height:42px;" />
2228      <img src="/images/footer-italiadomani-white.png" alt="Italia Domani - PNRR" style="height:72px;" />
2229      <img src="/images/logo-uda.png" alt="UdA" style="height:80px;" />
2230      <img src="/images/logo-unime-white.png" alt="UNIME" style="height:76px;" />
2231      <img src="/images/logo-uniba.png" alt="UNIBA" style="height:80px;" />
2232    </div>
2233    <p style="margin-top: 20px;">© 2024 CIRCULAGRIS — PRIN 2022 Project | <a href="https://www.unich.it" target="_blank">Università degli Studi "G. d'Annunzio" Chieti-Pescara</a></p>
2234    <div class="cg-conv-footer-funding">
2235      Project "Towards circular and sustainable agri-food systems: metrics for assessment (CIRCULAGRIS)" PRIN2022 (Research Project of National Interest) funded by the European Union - Next Generation EU, Mission 4, Component 2, CUP D53D23011220006.
2236    </div>
2237    <div style="margin-top: 16px; font-size: 0.72rem; color: rgba(255,255,255,0.5);">
2238      <a href="https://www.sitiwebshop.it/?utm_source=sito-cliente&utm_medium=circulagris-universita-ch" target="_blank" rel="noopener noreferrer" style="color: rgba(255,255,255,0.8); text-decoration: underline;">Powered by Webshop Human AI Automation</a>
2239    </div>
2240  </footer>
2241
2242</div>
2243`}})),b2=()=>(x.useEffect(()=>{function e(){const t=document.querySelector(".cg-pub-inst-bar"),i=document.querySelector(".cg-pub-nav");t&&i&&(i.style.top=t.offsetHeight+"px")}return requestAnimationFrame(e),setTimeout(e,100),setTimeout(e,500),window.addEventListener("resize",e),window.addEventListener("load",e),()=>{window.removeEventListener("resize",e),window.removeEventListener("load",e)}},[]),I.jsx("div",{dangerouslySetInnerHTML:{__html:`
2244<style>
2245.cg-pub-root *, .cg-pub-root *::before, .cg-pub-root *::after { margin: 0; padding: 0; box-sizing: border-box; }
2246.cg-pub-root {
2247  font-family: Calibri, 'Segoe UI', sans-serif;
2248  color: #3a3a4a; line-height: 1.6; background: #FAF8F2;
2249  min-height: 100vh;
2250}
2251.cg-pub-root img { max-width: 100%; }
2252
2253/* ─── INSTITUTIONAL BAR ─── */
2254.cg-pub-inst-bar {
2255  position: fixed; top: 0; left: 0; right: 0; z-index: 101;
2256  background: #2A65AF;
2257  display: flex; align-items: center; justify-content: center;
2258  gap: 28px; padding: 14px 40px;
2259  border-bottom: 1px solid rgba(0,0,0,0.08);
2260  flex-wrap: wrap;
2261}
2262.cg-pub-inst-bar img { height: 64px; object-fit: contain; flex-shrink: 0; }
2263.cg-pub-inst-bar .cg-inst-divider {
2264  width: 1px; height: 48px; background: rgba(255,255,255,0.3); flex-shrink: 0;
2265}
2266
2267/* ─── NAV ─── */
2268.cg-pub-nav {
2269  position: fixed; top: 92px; left: 0; right: 0; z-index: 100;
2270  background: rgba(255,255,255,0.92);
2271  backdrop-filter: blur(16px);
2272  padding: 18px 60px;
2273  display: flex; align-items: center; justify-content: space-between;
2274  border-bottom: 1px solid rgba(0,0,0,0.06);
2275  box-shadow: 0 2px 20px rgba(0,0,0,0.04);
2276}
2277.cg-pub-nav-logo { display: flex; align-items: center; }
2278.cg-pub-nav-logo img { height: 56px; object-fit: contain; margin-right: 16px; }
2279.cg-pub-nav-links { display: flex; gap: 32px; list-style: none; }
2280.cg-pub-nav-links a {
2281  color: #555; text-decoration: none; font-size: 0.82rem;
2282  font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase;
2283  transition: color 0.3s; position: relative; cursor: pointer;
2284}
2285.cg-pub-nav-links a:hover { color: #8B7535; }
2286.cg-pub-nav-links a::after {
2287  content:''; position: absolute; bottom: -6px; left: 0; width: 0; height: 2px;
2288  background: #8B7535; transition: width 0.3s;
2289}
2290.cg-pub-nav-links a:hover::after { width: 100%; }
2291.cg-pub-nav-links a.active { color: #8B7535; }
2292.cg-pub-nav-links a.active::after { width: 100%; }
2293
2294/* ─── BURGER ─── */
2295.cg-pub-burger {
2296  display: none; flex-direction: column; gap: 5px; cursor: pointer;
2297  padding: 8px; z-index: 200;
2298}
2299.cg-pub-burger span {
2300  display: block; width: 24px; height: 2px; background: #3a3a4a;
2301  transition: all 0.3s; border-radius: 2px;
2302}
2303.cg-pub-mobile-menu {
2304  display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0;
2305  background: #FAF8F2; z-index: 190;
2306  flex-direction: column; align-items: center; justify-content: center;
2307  gap: 24px; list-style: none; overflow: hidden;
2308}
2309.cg-pub-mobile-menu.open { display: flex; }
2310.cg-pub-mobile-menu a {
2311  color: #3a3a4a; text-decoration: none; font-size: 1.1rem;
2312  font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
2313  font-family: Calibri, 'Segoe UI', sans-serif; cursor: pointer;
2314  transition: color 0.3s;
2315}
2316.cg-pub-mobile-menu a:hover { color: #8B7535; }
2317.cg-pub-mobile-close {
2318  position: absolute; top: 20px; right: 20px;
2319  width: 40px; height: 40px; cursor: pointer;
2320  display: flex; align-items: center; justify-content: center;
2321  background: none; border: none; z-index: 200;
2322}
2323.cg-pub-mobile-close::before, .cg-pub-mobile-close::after {
2324  content: ''; position: absolute;
2325  width: 24px; height: 2px; background: #3a3a4a; border-radius: 2px;
2326}
2327.cg-pub-mobile-close::before { transform: rotate(45deg); }
2328.cg-pub-mobile-close::after { transform: rotate(-45deg); }
2329
2330/* ─── HEADER ─── */
2331.cg-pub-header {
2332  background: #2A65AF;
2333  padding: 200px 60px 60px; text-align: center;
2334}
2335.cg-pub-header h1 {
2336  font-family: Calibri, 'Segoe UI', sans-serif;
2337  font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 800;
2338  color: #fff; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 12px;
2339}
2340.cg-pub-header p {
2341  font-size: 1rem; color: rgba(255,255,255,0.7); max-width: 600px; margin: 0 auto;
2342}
2343
2344/* ─── CONTENT ─── */
2345.cg-pub-section {
2346  max-width: 1000px; margin: 0 auto; padding: 60px 40px;
2347}
2348.cg-pub-divider {
2349  width: 60px; height: 3px; background: linear-gradient(90deg, #8B7535, #8E4585);
2350  margin-bottom: 32px; border-radius: 2px;
2351}
2352.cg-pub-list {
2353  list-style: none; display: flex; flex-direction: column; gap: 20px;
2354  margin-bottom: 60px;
2355}
2356.cg-pub-item {
2357  background: #fff; border-radius: 12px; padding: 24px 28px;
2358  border: 1px solid rgba(0,0,0,0.06);
2359  border-left: 4px solid #8B7535;
2360  transition: all 0.3s;
2361}
2362.cg-pub-item:hover {
2363  transform: translateX(4px);
2364  box-shadow: 0 4px 20px rgba(0,0,0,0.06);
2365}
2366.cg-pub-item p {
2367  font-size: 0.85rem; color: #555; line-height: 1.7;
2368}
2369.cg-pub-item .cg-pub-authors {
2370  font-weight: 700; color: #3a3a4a;
2371}
2372.cg-pub-item .cg-pub-year {
2373  display: inline-block; background: #8B7535; color: #fff;
2374  font-size: 0.7rem; font-weight: 700; padding: 2px 10px;
2375  border-radius: 20px; margin-bottom: 8px; letter-spacing: 0.5px;
2376}
2377.cg-pub-item .cg-pub-venue {
2378  font-style: italic; color: #777;
2379}
2380/* ─── FOOTER ─── */
2381.cg-pub-footer {
2382  background: #2A65AF; padding: 40px 60px; text-align: center;
2383  color: rgba(255,255,255,0.5); font-size: 0.78rem; line-height: 1.8;
2384}
2385.cg-pub-footer-logos {
2386  display: flex; align-items: center; justify-content: center;
2387  gap: 24px; margin-bottom: 16px; flex-wrap: wrap;
2388}
2389.cg-pub-footer-logos img { height: 44px; object-fit: contain; }
2390.cg-pub-footer a { color: rgba(255,255,255,0.7); text-decoration: none; }
2391.cg-pub-footer-funding {
2392  max-width: 800px; margin: 16px auto 0; font-size: 0.72rem;
2393  color: rgba(255,255,255,0.35); line-height: 1.6;
2394}
2395.cg-pub-footer p { color: rgba(255,255,255,0.5); }
2396
2397@media (max-width: 900px) {
2398  .cg-pub-hide-mobile { display: none !important; }
2399  .cg-pub-nav-links { display: none; }
2400  .cg-pub-burger { display: flex; }
2401  .cg-pub-inst-bar { padding: 10px 20px; gap: 14px; flex-wrap: wrap; }
2402  .cg-pub-inst-bar img { height: 44px; }
2403  .cg-pub-inst-bar .cg-inst-divider { height: 32px; }
2404}
2405@media (max-width: 640px) {
2406  .cg-pub-header { padding: 220px 10px 40px; }
2407  .cg-pub-section { padding: 40px 10px; text-align: center; }
2408  .cg-pub-inst-bar { padding: 8px 6px; gap: 8px; justify-content: space-between; flex-wrap: nowrap; }
2409  .cg-pub-inst-bar img { height: 32px !important; flex-shrink: 1; min-width: 0; object-fit: contain; }
2410  .cg-pub-inst-bar .cg-logo-italiadomani { height: 58px !important; }
2411  .cg-pub-inst-bar .cg-inst-divider { display: flex; height: 28px; background: rgba(255,255,255,0.3); width: 1px; flex-shrink: 0; }
2412  .cg-pub-nav { top: auto; padding: 12px 10px; }
2413  .cg-pub-item { padding: 16px 14px; text-align: center; }
2414  .cg-pub-item p { text-align: center; }
2415  .cg-pub-divider { margin-left: auto; margin-right: auto; }
2416  .cg-pub-footer { padding: 30px 10px; }
2417  .cg-pub-footer-logos { gap: 12px; }
2418  .cg-pub-footer-logos img { height: 32px; }
2419}
2420</style>
2421
2422<div class="cg-pub-root">
2423
2424  <!-- INSTITUTIONAL BAR -->
2425  <div class="cg-pub-inst-bar">
2426    <img src="/images/footer-eu-white.png" alt="Finanziato dall'Unione europea - NextGenerationEU" style="height:56px;" />
2427    <div class="cg-inst-divider"></div>
2428    <img src="/images/footer-mur-white.png" alt="MUR" style="height:42px;" />
2429    <div class="cg-inst-divider"></div>
2430    <img src="/images/footer-italiadomani-white.png" alt="Italia Domani" style="height:72px;" class="cg-logo-italiadomani" />
2431    <div class="cg-inst-divider cg-pub-hide-mobile"></div>
2432    <img src="/images/logo-uda.png" alt="UdA" style="height:80px;" class="cg-pub-hide-mobile" />
2433    <img src="/images/logo-unime-white.png" alt="UNIME" style="height:76px;" class="cg-pub-hide-mobile" />
2434    <img src="/images/logo-uniba.png" alt="UNIBA" style="height:80px;" class="cg-pub-hide-mobile" />
2435  </div>
2436
2437  <!-- NAV -->
2438  <nav class="cg-pub-nav">
2439    <a class="cg-pub-nav-logo" href="https://www.circulagris.com/" target="_top"><img src="/images/logo-circulagris.png" alt="CIRCULAGRIS" /></a>
2440    <ul class="cg-pub-nav-links">
2441      <li><a href="https://www.circulagris.com/" target="_top">Home</a></li>
2442      <li><a href="https://www.circulagris.com/researchers/" target="_top">Researchers</a></li>
2443      <li><a href="https://www.circulagris.com/conferences/" target="_top">Conferences</a></li>
2444      <li><a href="https://www.circulagris.com/workshops/" target="_top">Workshops</a></li>
2445      <li><a href="https://www.circulagris.com/publications/" target="_top" class="active">Publications</a></li>
2446    <li class="cg-lang-switch"><a href="https://www.circulagris.com/pubblicazioni/" target="_top" style="background:#8B7535;color:#fff !important;padding:6px 14px;border-radius:20px;font-weight:700;cursor:pointer;">IT</a></li>
2447    </ul>
2448    <div class="cg-pub-burger" onclick="(function(){var m=document.getElementById('cgPubMobileMenu');m.classList.toggle('open')})()">
2449      <span></span><span></span><span></span>
2450    </div>
2451  </nav>
2452
2453  <!-- MOBILE MENU -->
2454  <ul class="cg-pub-mobile-menu" id="cgPubMobileMenu">
2455    <button class="cg-pub-mobile-close" onclick="document.getElementById('cgPubMobileMenu').classList.remove('open')" aria-label="Close"></button>
2456    <li><a href="https://www.circulagris.com/" target="_top">Home</a></li>
2457    <li><a href="https://www.circulagris.com/researchers/" target="_top">Researchers</a></li>
2458    <li><a href="https://www.circulagris.com/conferences/" target="_top">Conferences</a></li>
2459    <li><a href="https://www.circulagris.com/workshops/" target="_top">Workshops</a></li>
2460    <li><a href="https://www.circulagris.com/publications/" target="_top">Publications</a></li>
2461    <li class="cg-lang-switch"><a href="https://www.circulagris.com/pubblicazioni/" target="_top" style="background:#8B7535;color:#fff !important;padding:6px 14px;border-radius:20px;font-weight:700;cursor:pointer;">IT</a></li>
2462  </ul>
2463
2464  <div class="cg-pub-header">
2465    <h1>Publications</h1>
2466    <p>Scientific contributions produced within the CIRCULAGRIS project.</p>
2467  </div>
2468
2469  <div class="cg-pub-section">
2470
2471    <div class="cg-pub-divider"></div>
2472    <ul class="cg-pub-list">
2473
2474      <li class="cg-pub-item">
2475        <span class="cg-pub-year">2024</span>
2476        <p><span class="cg-pub-authors">ESPOSITO, B., NOTARNICOLA, B., DI CAPUA, R., RENZULLI, P.A.</span> 2024. Unravelling circular best practices in the pasta and bread supply chains: insights from Italy. <span class="cg-pub-venue">In: Suarez Barraza, M.F., Edvardsson, B., Jaca, C., Psomas, E., Renzi, M.F., Marimon, F. Gianni, M., Sebahtu, S., Ruggieri, A. (Eds.). IAQUIS 2024 Conference Proceedings "Fostering organizational transformation for a sustainable future: Enhancing synergies between quality, innovation and sustainability", pp. 19-36. ISBN: 979-12-210-9378-0</span></p>
2477      </li>
2478
2479      <li class="cg-pub-item">
2480        <span class="cg-pub-year">2024</span>
2481        <p><span class="cg-pub-authors">RAGGI A., ARZOUMANIDIS I., PETTI L., SIMBOLI A., DI CAPUA R., RENZULLI P.A., SPIZZIRRI G.U., NOTARNICOLA B., LANUZZA F., MONDELLO G., SAIJA G., SALOMONE R.</span> 2024. The CIRCULAGRIS project for developing metrics for circularity and sustainability in Italian agri-food systems. <span class="cg-pub-venue">Book of abstracts of the 30th Annual International Conference of ISDRS on Sustainable Development Research &ldquo;Linking Futures of Mountain and Ocean: Rescuing the SDGs 2030 for Sustainable Livelihood&rdquo;, 10-14 June 2024, Kathmandu, Nepal, pp. 174-175</span></p>
2482      </li>
2483
2484      <li class="cg-pub-item">
2485        <span class="cg-pub-year">2024</span>
2486        <p><span class="cg-pub-authors">RAGGI A., ARZOUMANIDIS I., PETTI L., SIMBOLI A., DI CAPUA R., RENZULLI P.A., NOTARNICOLA B., LANUZZA F., MONDELLO G., SALOMONE R.</span> 2024. Circularity and sustainability metrics for Italian agri-food systems: the CIRCULAGRIS project. <span class="cg-pub-venue">In: N&uacute;&ntilde;ez M. (Ed.), Book of abstracts of the 14th International Conference on Life Cycle Assessment of Food (LCA Food 2024), 8-12 September 2024, Barcelona, Spain, pp. 911-912</span></p>
2487      </li>
2488
2489      <li class="cg-pub-item">
2490        <span class="cg-pub-year">2024</span>
2491        <p><span class="cg-pub-authors">RAGGI A., ARZOUMANIDIS I., PETTI L., SIMBOLI A., DI CAPUA R., RENZULLI P.A., SPIZZIRRI G.U., NOTARNICOLA B., LANUZZA F., MONDELLO G., SAIJA G., SALOMONE R.</span> 2024. Measuring circularity and sustainability in Italian agri-food systems: the CIRCULAGRIS project. <span class="cg-pub-venue">Book of Abstracts of the 1st International Conference &ldquo;Circular Economy: the pathway towards a sustainable development&rdquo; of the Hellenic Society for Circular Economy, 12-13 September 2024, Chania, Greece, pp. 292-293</span></p>
2492      </li>
2493
2494      <li class="cg-pub-item">
2495        <span class="cg-pub-year">2024</span>
2496        <p><span class="cg-pub-authors">SALOMONE, R., SCANDURRA, F., MONDELLO, G., SAIJA, G., LANUZZA, F.</span> 2024. Circular economy metrics in the agri-food sector: an applicative study in the olive oil industry. <span class="cg-pub-venue">In: Suarez Barraza, M.F., Edvardsson, B., Jaca, C., Psomas, E., Renzi, M.F., Marimon, F., Gianni, M., Sebahtu, S., Ruggieri, A. (Eds.). IAQUIS 2024 Conference Proceedings &ldquo;Fostering organisational transformation for a sustainable future: Enhancing synergies between quality, innovation and sustainability&rdquo;, 11-14 September 2024, Viterbo, Italy, pp. 236-246, ISBN: 9791221093780</span> </p>
2497      </li>
2498
2499      <li class="cg-pub-item">
2500        <span class="cg-pub-year">2024</span>
2501        <p><span class="cg-pub-authors">SALOMONE, R., SCANDURRA, F., MONDELLO, G., SAIJA, G., LANUZZA, F.</span> 2024. Measuring circularity and sustainability in the olive oil supply chain: an overview of available metrics. <span class="cg-pub-venue">In: Agnusdei, L., Agnusdei, G.P., De Leo, F., Miglietta, P.P., Massari, S., Ruberti, M. (Eds.). Proceedings of the 32nd Congress of the Italian Academy of Commodity Science &ldquo;Resilienza e sostenibilit&agrave; nel cambiamento globale&rdquo;, 19-20 September 2024 Lecce, Italy, pp. 482-489, ISBN: 979-12-985593-1-8</span> </p>
2502      </li>
2503
2504      <li class="cg-pub-item">
2505        <span class="cg-pub-year">2024</span>
2506        <p><span class="cg-pub-authors">SCANDURRA, F., SALOMONE, R., MONDELLO, G., SAIJA, G., &amp; LANUZZA, F.</span> 2024. Circularity and sustainability indicators for the agrifood sector: The case of olive oil supply chain. <span class="cg-pub-venue">Proceedings of the 30th Annual International Conference of ISDRS on Sustainable Development Research &ldquo;Linking Futures of Mountain and Ocean: Rescuing the SDGs 2030 for Sustainable Livelihood&rdquo;, 10-14 June 2024, Kathmandu, Nepal, pp. 460&ndash;470. ISBN 978-9937-1-8614-8</span> </p>
2507      </li>
2508
2509      <li class="cg-pub-item">
2510        <span class="cg-pub-year">2025</span>
2511        <p><span class="cg-pub-authors">ESPOSITO, B., NOTARNICOLA, B., RENZULLI, P.A., DI CAPUA, R.</span> 2025. Circularity in the pasta supply chain: Developing a multi-indicator framework for circular economy assessment. <span class="cg-pub-venue">Cleaner Environmental Systems, 100327</span></p>
2512      </li>
2513
2514      <li class="cg-pub-item">
2515        <span class="cg-pub-year">2025</span>
2516        <p><span class="cg-pub-authors">SALOMONE, R., SCANDURRA, F., MONDELLO, G., SAIJA, G., LANUZZA, F.</span> 2025. Circularity metrics in the agri-food sector and olive oil industry: a scoping literature review. <span class="cg-pub-venue">In: Raggi, A., Petti, L., Tascione, V., Arzoumanidis, I. (Eds.). the 18th Italian LCA Network Association Conference &ldquo;Life Cycle Thinking a supporto di modelli di produzione e di consumo sostenibili&rdquo;, 3-5 July 2024, Pescara, Italy, pp. 135-142, ISBN: 9791221004571</span> </p>
2517      </li>
2518
2519      <li class="cg-pub-item">
2520        <span class="cg-pub-year">2025</span>
2521        <p><span class="cg-pub-authors">TRAGNONE, B.M., ARZOUMANIDIS, I., PETTI, L., SIMBOLI, A., RAGGI, A.</span> 2025. Toward circular and sustainable wine supply chains: a social insight. <span class="cg-pub-venue">In: Mittal, M., Cilleruelo Palomero, J., Radwan, L., Ciroth, A. (Eds.) openLCA.conf 2025 Proceedings. Second openLCA.conf, 10&ndash;11 April 2025, Berlin, Germany, p. 64. https://doi.org/10.5281/zenodo.15209873</span></p>
2522      </li>
2523
2524      <li class="cg-pub-item">
2525        <span class="cg-pub-year">2025</span>
2526        <p><span class="cg-pub-authors">TRAGNONE, B.M., ARZOUMANIDIS, I., PETTI, L., SIMBOLI, A., RAGGI, A.</span> 2025. Identification of agri-food Social Life Cycle Assessment material themes. <span class="cg-pub-venue">In: Stefanakis, A., Nikolaou, I. (Eds) e-Book of Abstracts of the 2nd International Conference &ldquo;Circular Economy: the pathway towards a sustainable development&rdquo; of the Hellenic Society for Circular Economy, 17-19 September 2025, Chania, Greece, pp. 284-285 ISBN: 978-618-5558-17-8</span></p>
2527      </li>
2528
2529      <li class="cg-pub-item">
2530        <span class="cg-pub-year">2025</span>
2531        <p><span class="cg-pub-authors">ARZOUMANIDIS, I., PETTI, L., SIMBOLI, A., TRAGNONE, B.M., RAGGI, A.</span> Indicatori di circolarit&agrave; per il settore agroalimentare e il comparto vitivinicolo. <span class="cg-pub-venue">Proceedings of the 19th Conference of the Italian LCA Network Association, &ldquo;Transizione sostenibile, competitivit&agrave; e innovazione: il ruolo della Life Cycle Assessment&rdquo;, 19-21 March 2025, Cortina d&rsquo;Ampezzo, Italy. In press</span></p>
2532      </li>
2533
2534      <li class="cg-pub-item">
2535        <span class="cg-pub-year">2025</span>
2536        <p><span class="cg-pub-authors">ESPOSITO, B., NOTARNICOLA, B., DI CAPUA, R., RENZULLI, P.A.</span> Il Life Cycle Costing come Strumento per l&rsquo;Economia Circolare nel Settore Agroalimentare: Una Revisione Sistematica della Letteratura. <span class="cg-pub-venue">Proceedings of the 19th Conference of the Italian LCA Network Association, &ldquo;Transizione sostenibile, competitivit&agrave; e innovazione: il ruolo della Life Cycle Assessment&rdquo;, 19-21 March 2025, Cortina d&rsquo;Ampezzo, Italy. In press</span></p>
2537      </li>
2538
2539      <li class="cg-pub-item">
2540        <span class="cg-pub-year">2025</span>
2541        <p><span class="cg-pub-authors">RAGGI, A., SALOMONE, R., NOTARNICOLA, B., ARZOUMANIDIS, I., ASTUTO, F., DI CAPUA, R., ESPOSITO, B., LANUZZA, F., MONDELLO, G., PETTI, L., RENZULLI, P.A., SAIJA, G., SCANDURRA, F., SIMBOLI, A., TRAGNONE, B.M.</span> Misurazione della circolarit&agrave; nell&rsquo;agri-food: una proposta metodologica per la selezione e la classificazione di indicatori. <span class="cg-pub-venue">Proceedings of the 19th Conference of the Italian LCA Network Association, &ldquo;Transizione sostenibile, competitivit&agrave; e innovazione: il ruolo della Life Cycle Assessment&rdquo;, 19-21 March 2025, Cortina d&rsquo;Ampezzo, Italy. In press</span></p>
2542      </li>
2543
2544      <li class="cg-pub-item">
2545        <span class="cg-pub-year">2025</span>
2546        <p><span class="cg-pub-authors">SALOMONE, R., SCANDURRA, F., MONDELLO, G., SAIJA, G., LANUZZA, F.</span> Circular economy in the olive oil industry: evaluating best practices through life cycle assessment. <span class="cg-pub-venue">Proceedings of the 19th Conference of the Italian LCA Network Association, &ldquo;Transizione sostenibile, competitivit&agrave; e innovazione: il ruolo della Life Cycle Assessment&rdquo;, 19-21 March 2025, Cortina d&rsquo;Ampezzo, Italy. In press</span> </p>
2547      </li>
2548
2549      <li class="cg-pub-item">
2550        <span class="cg-pub-year">2025</span>
2551        <p><span class="cg-pub-authors">RAGGI A., SALOMONE R., NOTARNICOLA B., ARZOUMANIDIS I., ASTUTO F., DI CAPUA R., ESPOSITO B., LANUZZA F., MONDELLO G., PETTI L., RENZULLI P.A., SAIJA G., SCANDURRA F., SIMBOLI A., TRAGNONE B.M.</span> Measuring circularity in agri-food: a methodological proposal for the selection and classification of indicators. <span class="cg-pub-venue">Book of abstracts of the 31st Annual Conference of the International Sustainable Development Research Society (ISDRS), &ldquo;Sustainability and beyond&rdquo;, 8th-12th July 2025, Budapest, Hungary. In press</span></p>
2552      </li>
2553
2554      <li class="cg-pub-item">
2555        <span class="cg-pub-year">2025</span>
2556        <p><span class="cg-pub-authors">RAGGI A., SALOMONE R., NOTARNICOLA B., ARZOUMANIDIS I., ASTUTO F., DI CAPUA R., ESPOSITO B., LANUZZA F., MONDELLO G., PETTI L., RENZULLI P.A., SAIJA G., SCANDURRA F., SIMBOLI A., TRAGNONE B.M.</span> Measuring circularity in agri-food: a methodological proposal for the selection and classification of indicators. <span class="cg-pub-venue">Proceedings of the 31st Annual Conference of the International Sustainable Development Research Society (ISDRS), &ldquo;Sustainability and beyond&rdquo;, 8th-12th July 2025, Budapest, Hungary. In press</span></p>
2557      </li>
2558
2559      <li class="cg-pub-item">
2560        <span class="cg-pub-year">2026</span>
2561        <p><span class="cg-pub-authors">TRAGNONE, B.M., ARZOUMANIDIS, I., PETTI, L., CHIUSANO, L., RAGGI, A.</span> Soluzioni circolari e sostenibili nel vitivinicolo: un caso studio. <span class="cg-pub-venue">41st Conference of Academy of Business Administration (AIDEA), &ldquo;Le Intelligenze Aziendali per la competitivit&agrave; sostenibile e il bene comune&rdquo;, 22-23 January 2026, Milan, Italy. In press</span></p>
2562      </li>
2563
2564      <li class="cg-pub-item">
2565        <span class="cg-pub-year">2026</span>
2566        <p><span class="cg-pub-authors">TRAGNONE, B.M., ARZOUMANIDIS, I., PETTI, L., SIMBOLI, A., RAGGI, A.</span> &ldquo;Aspetti sociali nella transizione verso filiere vitivinicole circolari&rdquo; <span class="cg-pub-venue">Book Chapter, Bologna University Press. In press</span></p>
2567      </li>
2568
2569      <li class="cg-pub-item">
2570        <span class="cg-pub-year">2026</span>
2571        <p><span class="cg-pub-authors">ARZOUMANIDIS, I., TRAGNONE, B.M., PETTI, L., RAGGI A.</span> The environmental profile of a biosymbiotic wine in Italy: towards more circular solutions. <span class="cg-pub-venue">2nd LUM Conference on Accounting, Banking, and Finance Research &ldquo;The New Sustainability Agenda: Addressing Environmental and Social Challenges &ndash; Climate, Circularity, Biodiversity and Equity in Uncertain Times&rdquo;, 4-5 June 2026, Bari, Italy. Accepted</span></p>
2572      </li>
2573
2574      <li class="cg-pub-item">
2575        <span class="cg-pub-year">2026</span>
2576        <p><span class="cg-pub-authors">TRAGNONE, B.M., ARZOUMANIDIS, I., PETTI, L., RAGGI, A.</span> &ldquo;Towards Circular Agri-food Chains: Challenges in the Application of Social Life Cycle Assessment&rdquo;. <span class="cg-pub-venue">Social Life Cycle Assessment (S-LCA) Conference 2026, &ldquo;Unity in diversity&rdquo;, 17-19 June 2026, Jakarta, Indonesia. Accepted</span></p>
2577      </li>
2578
2579      <li class="cg-pub-item">
2580        <span class="cg-pub-year">2026</span>
2581        <p><span class="cg-pub-authors">NOTARNICOLA, B., ASTUTO, F., DE GENNARO, S., DI CAPUA, R., ESPOSITO, B., RENZULLI, P.A., SPIZZIRRI, U.G., STASI, G.</span> Integrating Environmental and Circularity Metrics in the Pasta Supply Chain: a Comparative Assessment of Circular and Linear Alternatives. <span class="cg-pub-venue">2nd LUM Conference on Accounting, Banking, and Finance Research &ldquo;The New Sustainability Agenda: Addressing Environmental and Social Challenges &ndash; Climate, Circularity, Biodiversity and Equity in Uncertain Times&rdquo;, 4-5 June 2026, Bari, Italy. Submitted</span></p>
2582      </li>
2583
2584      <li class="cg-pub-item">
2585        <span class="cg-pub-year">2026</span>
2586        <p><span class="cg-pub-authors">TRAGNONE, B.M., ARZOUMANIDIS, I., PETTI, L., SIMBOLI, A., RAGGI, A.</span> Verso transizioni circolari nella filiera vitivinicola: una sintesi sistematica delle soluzioni proposte in letteratura. <span class="cg-pub-venue">33rd Congress of the Italian Academy of Commodity Science &ldquo;Rigenerare il valore: qualit&agrave; innovazione e sostenibilit&agrave; per il futuro delle organizzazioni e della societ&agrave;&rdquo;, 14&ndash;16 September 2026, Catania, Italy. Submitted</span></p>
2587      </li>
2588
2589      <li class="cg-pub-item">
2590        <span class="cg-pub-year">2026</span>
2591        <p><span class="cg-pub-authors">TRAGNONE, B.M., ARZOUMANIDIS, I., PETTI, L., SIMBOLI, A., RAGGI, A.</span> Circolarit&agrave; nella filiera vitivinicola: una ricognizione delle soluzioni implementate in vigneto e cantina. <span class="cg-pub-venue">20th Conference of the Italian LCA Network Association &ldquo;LCA e metodi life cycle-based per la misurazione della sostenibilit&agrave; di prodotti, servizi, organizzazioni e soluzioni circolari&rdquo;, 23&ndash;25 September 2026, Taranto, Italy. Submitted</span></p>
2592      </li>
2593
2594      <li class="cg-pub-item">
2595        <span class="cg-pub-year">2026</span>
2596        <p><span class="cg-pub-authors">ARZOUMANIDIS, I., TRAGNONE, B.M., PETTI, L., CHIUSANO, L., RAGGI A.</span> Circular and sustainable solutions in the wine sector: a case study. <span class="cg-pub-venue">32nd Annual Conference of ISDRS &ldquo;Transforming Global Challenges into Sustainable Opportunities: Collaborations and Partnerships across the globe&rdquo;, 7-11 July, Victoria, Brasil. Submitted</span></p>
2597      </li>
2598
2599    </ul>
2600
2601  </div>
2602
2603  <!-- FOOTER -->
2604  <footer class="cg-pub-footer">
2605    <div class="cg-pub-footer-logos">
2606      <img src="/images/logo-circulagris.png" alt="CIRCULAGRIS" style="height: 50px; filter: brightness(0) invert(1);" />
2607    </div>
2608    <div class="cg-pub-footer-logos" style="margin-top: 16px;">
2609      <img src="/images/footer-eu-white.png" alt="Finanziato dall'Unione europea - NextGenerationEU" style="height:56px;" />
2610      <img src="/images/footer-mur-white.png" alt="Ministero dell'Università e della Ricerca" style="height:42px;" />
2611      <img src="/images/footer-italiadomani-white.png" alt="Italia Domani - PNRR" style="height:72px;" />
2612      <img src="/images/logo-uda.png" alt="UdA" style="height:80px;" />
2613      <img src="/images/logo-unime-white.png" alt="UNIME" style="height:76px;" />
2614      <img src="/images/logo-uniba.png" alt="UNIBA" style="height:80px;" />
2615    </div>
2616    <p style="margin-top: 20px;">&copy; 2024 CIRCULAGRIS &mdash; PRIN 2022 Project | <a href="https://www.unich.it" target="_blank" style="color:rgba(255,255,255,0.7);text-decoration:none;">Universit&agrave; degli Studi "G. d'Annunzio" Chieti-Pescara</a></p>
2617    <div style="max-width:800px;margin:16px auto 0;font-size:0.72rem;color:rgba(255,255,255,0.35);line-height:1.6;">
2618      Project "Towards circular and sustainable agri-food systems: metrics for assessment (CIRCULAGRIS)" PRIN2022 (Research Project of National Interest) funded by the European Union - Next Generation EU, Mission 4, Component 2, CUP D53D23011220006.
2619    </div>
2620    <div style="margin-top: 16px; font-size: 0.72rem; color: rgba(255,255,255,0.5);">
2621      <a href="https://www.sitiwebshop.it/?utm_source=sito-cliente&utm_medium=circulagris-universita-ch" target="_blank" rel="noopener noreferrer" style="color: rgba(255,255,255,0.8); text-decoration: underline;">Powered by Webshop Human AI Automation</a>
2622    </div>
2623  </footer>
2624
2625</div>
2626`}})),w2=()=>(x.useEffect(()=>{function e(){const t=document.querySelector(".cg-ws-inst-bar"),i=document.querySelector(".cg-ws-nav");t&&i&&(i.style.top=t.offsetHeight+"px")}return requestAnimationFrame(e),setTimeout(e,100),setTimeout(e,500),window.addEventListener("resize",e),window.addEventListener("load",e),()=>{window.removeEventListener("resize",e),window.removeEventListener("load",e)}},[]),I.jsx("div",{dangerouslySetInnerHTML:{__html:`
2627<style>
2628.cg-ws-root *, .cg-ws-root *::before, .cg-ws-root *::after { margin: 0; padding: 0; box-sizing: border-box; }
2629.cg-ws-root {
2630  font-family: Calibri, 'Segoe UI', sans-serif;
2631  color: #3a3a4a; line-height: 1.6; background: #FAF8F2;
2632  min-height: 100vh;
2633}
2634.cg-ws-root img { max-width: 100%; }
2635
2636/* ─── INSTITUTIONAL BAR ─── */
2637.cg-ws-inst-bar {
2638  position: fixed; top: 0; left: 0; right: 0; z-index: 101;
2639  background: #2A65AF;
2640  display: flex; align-items: center; justify-content: center;
2641  gap: 28px; padding: 14px 40px;
2642  border-bottom: 1px solid rgba(0,0,0,0.08);
2643  flex-wrap: wrap;
2644}
2645.cg-ws-inst-bar img { height: 64px; object-fit: contain; flex-shrink: 0; }
2646.cg-ws-inst-bar .cg-inst-divider {
2647  width: 1px; height: 48px; background: rgba(255,255,255,0.3); flex-shrink: 0;
2648}
2649
2650/* ─── NAV ─── */
2651.cg-ws-nav {
2652  position: fixed; top: 92px; left: 0; right: 0; z-index: 100;
2653  background: rgba(255,255,255,0.92);
2654  backdrop-filter: blur(16px);
2655  padding: 18px 60px;
2656  display: flex; align-items: center; justify-content: space-between;
2657  border-bottom: 1px solid rgba(0,0,0,0.06);
2658  box-shadow: 0 2px 20px rgba(0,0,0,0.04);
2659}
2660.cg-ws-nav-logo { display: flex; align-items: center; }
2661.cg-ws-nav-logo img { height: 56px; object-fit: contain; margin-right: 16px; }
2662.cg-ws-nav-links { display: flex; gap: 32px; list-style: none; }
2663.cg-ws-nav-links a {
2664  color: #555; text-decoration: none; font-size: 0.82rem;
2665  font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase;
2666  transition: color 0.3s; position: relative; cursor: pointer;
2667}
2668.cg-ws-nav-links a:hover { color: #8B7535; }
2669.cg-ws-nav-links a::after {
2670  content:''; position: absolute; bottom: -6px; left: 0; width: 0; height: 2px;
2671  background: #8B7535; transition: width 0.3s;
2672}
2673.cg-ws-nav-links a:hover::after { width: 100%; }
2674.cg-ws-nav-links a.active { color: #8B7535; }
2675.cg-ws-nav-links a.active::after { width: 100%; }
2676
2677/* ─── BURGER ─── */
2678.cg-ws-burger {
2679  display: none; flex-direction: column; gap: 5px; cursor: pointer;
2680  padding: 8px; z-index: 200;
2681}
2682.cg-ws-burger span {
2683  display: block; width: 24px; height: 2px; background: #3a3a4a;
2684  transition: all 0.3s; border-radius: 2px;
2685}
2686.cg-ws-mobile-menu {
2687  display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0;
2688  background: #FAF8F2; z-index: 190;
2689  flex-direction: column; align-items: center; justify-content: center;
2690  gap: 24px; list-style: none; overflow: hidden;
2691}
2692.cg-ws-mobile-menu.open { display: flex; }
2693.cg-ws-mobile-menu a {
2694  color: #3a3a4a; text-decoration: none; font-size: 1.1rem;
2695  font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
2696  font-family: Calibri, 'Segoe UI', sans-serif; cursor: pointer;
2697  transition: color 0.3s;
2698}
2699.cg-ws-mobile-menu a:hover { color: #8B7535; }
2700.cg-ws-mobile-close {
2701  position: absolute; top: 20px; right: 20px;
2702  width: 40px; height: 40px; cursor: pointer;
2703  display: flex; align-items: center; justify-content: center;
2704  background: none; border: none; z-index: 200;
2705}
2706.cg-ws-mobile-close::before, .cg-ws-mobile-close::after {
2707  content: ''; position: absolute;
2708  width: 24px; height: 2px; background: #3a3a4a; border-radius: 2px;
2709}
2710.cg-ws-mobile-close::before { transform: rotate(45deg); }
2711.cg-ws-mobile-close::after { transform: rotate(-45deg); }
2712
2713/* ─── HEADER ─── */
2714.cg-ws-header {
2715  background: #2A65AF;
2716  padding: 200px 60px 60px; text-align: center;
2717}
2718.cg-ws-header h1 {
2719  font-family: Calibri, 'Segoe UI', sans-serif;
2720  font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 800;
2721  color: #fff; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 12px;
2722}
2723.cg-ws-header p {
2724  font-size: 1rem; color: rgba(255,255,255,0.7); max-width: 650px; margin: 0 auto;
2725}
2726
2727/* ─── CONTENT ─── */
2728.cg-ws-section {
2729  max-width: 1100px; margin: 0 auto; padding: 60px 40px;
2730}
2731
2732/* ─── WORKSHOP CARD ─── */
2733.cg-ws-card {
2734  background: #fff; border-radius: 16px; overflow: hidden;
2735  border: 1px solid rgba(0,0,0,0.06);
2736  margin-bottom: 48px;
2737  box-shadow: 0 4px 24px rgba(0,0,0,0.05);
2738  transition: all 0.3s;
2739}
2740.cg-ws-card:hover { box-shadow: 0 8px 32px rgba(0,0,0,0.08); }
2741.cg-ws-card-top {
2742  display: flex; gap: 0;
2743}
2744.cg-ws-card-poster {
2745  flex: 0 0 380px; max-width: 380px;
2746  background: #f5f3ed; display: flex; flex-direction: column; gap: 0;
2747  align-self: stretch;
2748}
2749.cg-ws-card-poster img {
2750  width: 100%; height: 100%; object-fit: contain; display: block; background: #f5f3ed;
2751}
2752.cg-ws-card-body {
2753  flex: 1; padding: 32px 36px;
2754}
2755.cg-ws-card-uni {
2756  display: flex; align-items: center; gap: 12px; margin-bottom: 16px;
2757}
2758.cg-ws-card-uni img { height: 40px; border-radius: 50%; }
2759.cg-ws-card-uni span {
2760  font-size: 0.78rem; color: #8B7535; font-weight: 700;
2761  letter-spacing: 1px; text-transform: uppercase;
2762}
2763.cg-ws-card-title {
2764  font-size: 1.2rem; font-weight: 800; color: #1a1a2e;
2765  line-height: 1.4; margin-bottom: 12px;
2766}
2767.cg-ws-card-meta {
2768  display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 16px;
2769}
2770.cg-ws-card-meta-item {
2771  display: flex; align-items: center; gap: 6px;
2772  font-size: 0.82rem; color: #777; font-weight: 600;
2773}
2774.cg-ws-card-meta-item svg { width: 16px; height: 16px; color: #8B7535; }
2775.cg-ws-card-desc {
2776  font-size: 0.88rem; color: #555; line-height: 1.7;
2777}
2778.cg-ws-card-divider {
2779  width: 40px; height: 3px; background: linear-gradient(90deg, #8B7535, #8E4585);
2780  margin: 16px 0; border-radius: 2px;
2781}
2782.cg-ws-card-badge {
2783  display: inline-block; background: #8B7535; color: #fff;
2784  font-size: 0.7rem; font-weight: 700; padding: 3px 12px;
2785  border-radius: 20px; letter-spacing: 0.5px; text-transform: uppercase;
2786  margin-bottom: 12px;
2787}
2788
2789/* ─── DOWNLOAD BTN ─── */
2790.cg-ws-download-btn {
2791  display: inline-flex; align-items: center; gap: 8px;
2792  margin-top: 20px; padding: 12px 24px;
2793  background: #8B7535; color: #fff;
2794  font-weight: 700; font-size: 0.82rem;
2795  border-radius: 6px; text-decoration: none;
2796  letter-spacing: 1px; text-transform: uppercase;
2797  transition: all 0.3s; border: none; cursor: pointer;
2798}
2799.cg-ws-download-btn:hover { background: #756228; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(139,117,53,0.25); }
2800.cg-ws-download-btn svg { width: 18px; height: 18px; }
2801
2802/* ─── PROGRAM ─── */
2803.cg-ws-program { margin-top: 20px; }
2804.cg-ws-program-title {
2805  font-size: 0.82rem; font-weight: 700; color: #8B7535;
2806  letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 16px;
2807}
2808.cg-ws-program-item {
2809  display: flex; gap: 16px; padding: 10px 0;
2810  border-bottom: 1px solid rgba(0,0,0,0.04);
2811}
2812.cg-ws-program-time {
2813  flex-shrink: 0; width: 60px;
2814  font-size: 0.82rem; font-weight: 700; color: #8B7535;
2815}
2816.cg-ws-program-content { flex: 1; }
2817.cg-ws-program-content strong {
2818  display: block; font-size: 0.85rem; color: #1a1a2e; margin-bottom: 2px;
2819}
2820.cg-ws-program-content span {
2821  font-size: 0.8rem; color: #777; line-height: 1.5;
2822}
2823
2824/* ─── FOOTER ─── */
2825.cg-ws-footer {
2826  background: #2A65AF; color: rgba(255,255,255,0.6);
2827  padding: 40px 60px; text-align: center; font-size: 0.8rem;
2828}
2829.cg-ws-footer-logos {
2830  display: flex; align-items: center; justify-content: center;
2831  gap: 24px; margin-bottom: 20px; flex-wrap: wrap;
2832}
2833.cg-ws-footer-logos img { height: 40px; object-fit: contain; }
2834
2835@media (max-width: 900px) {
2836  .cg-ws-hide-mobile { display: none !important; }
2837  .cg-ws-nav-links { display: none; }
2838  .cg-ws-burger { display: flex; }
2839  .cg-ws-inst-bar { padding: 10px 20px; gap: 14px; flex-wrap: wrap; }
2840  .cg-ws-inst-bar img { height: 44px; }
2841  .cg-ws-inst-bar .cg-inst-divider { height: 32px; }
2842  .cg-ws-card-top { flex-direction: column; }
2843  .cg-ws-card-poster { flex: none; max-width: 100%; max-height: 400px; }
2844}
2845@media (max-width: 640px) {
2846  .cg-ws-header { padding: 220px 10px 40px; }
2847  .cg-ws-section { padding: 40px 10px; }
2848  .cg-ws-inst-bar { padding: 8px 6px; gap: 8px; justify-content: space-between; flex-wrap: nowrap; }
2849  .cg-ws-inst-bar img { height: 32px !important; flex-shrink: 1; min-width: 0; object-fit: contain; }
2850  .cg-ws-inst-bar .cg-logo-italiadomani { height: 58px !important; }
2851  .cg-ws-inst-bar .cg-inst-divider { display: flex; height: 28px; background: rgba(255,255,255,0.3); width: 1px; flex-shrink: 0; }
2852  .cg-ws-nav { top: auto; padding: 12px 10px; }
2853  .cg-ws-card-body { padding: 20px 10px; text-align: center; }
2854  .cg-ws-card-title { font-size: 1rem; text-align: center; }
2855  .cg-ws-card-desc { font-size: 0.82rem; text-align: center; }
2856  .cg-ws-card-meta { justify-content: center; }
2857  .cg-ws-card-uni { justify-content: center; text-align: center; }
2858  .cg-ws-card-divider { margin-left: auto; margin-right: auto; }
2859  .cg-ws-download-btn { width: 100%; justify-content: center; }
2860  .cg-ws-footer { padding: 30px 10px; }
2861  .cg-ws-footer-logos { gap: 12px; }
2862  .cg-ws-footer-logos img { height: 32px; }
2863}
2864</style>
2865
2866<div class="cg-ws-root">
2867
2868  <!-- INSTITUTIONAL BAR -->
2869  <div class="cg-ws-inst-bar">
2870    <img src="/images/footer-eu-white.png" alt="Finanziato dall'Unione europea - NextGenerationEU" style="height:56px;" />
2871    <div class="cg-inst-divider"></div>
2872    <img src="/images/footer-mur-white.png" alt="MUR" style="height:42px;" />
2873    <div class="cg-inst-divider"></div>
2874    <img src="/images/footer-italiadomani-white.png" alt="Italia Domani" style="height:72px;" class="cg-logo-italiadomani" />
2875    <div class="cg-inst-divider cg-ws-hide-mobile"></div>
2876    <img src="/images/logo-uda.png" alt="UdA" style="height:80px;" class="cg-ws-hide-mobile" />
2877    <img src="/images/logo-unime-white.png" alt="UNIME" style="height:76px;" class="cg-ws-hide-mobile" />
2878    <img src="/images/logo-uniba.png" alt="UNIBA" style="height:80px;" class="cg-ws-hide-mobile" />
2879  </div>
2880
2881  <!-- NAV -->
2882  <nav class="cg-ws-nav">
2883    <a class="cg-ws-nav-logo" href="https://www.circulagris.com/" target="_top"><img src="/images/logo-circulagris.png" alt="CIRCULAGRIS" /></a>
2884    <ul class="cg-ws-nav-links">
2885      <li><a href="https://www.circulagris.com/" target="_top">Home</a></li>
2886      <li><a href="https://www.circulagris.com/researchers/" target="_top">Researchers</a></li>
2887      <li><a href="https://www.circulagris.com/conferences/" target="_top">Conferences</a></li>
2888      <li><a href="https://www.circulagris.com/workshops/" target="_top" class="active">Workshops</a></li>
2889      <li><a href="https://www.circulagris.com/publications/" target="_top">Publications</a></li>
2890    <li class="cg-lang-switch"><a href="https://www.circulagris.com/workshops-ita/" target="_top" style="background:#8B7535;color:#fff !important;padding:6px 14px;border-radius:20px;font-weight:700;cursor:pointer;">IT</a></li>
2891    </ul>
2892    <div class="cg-ws-burger" onclick="(function(){var m=document.getElementById('cgWsMobileMenu');m.classList.toggle('open')})()">
2893      <span></span><span></span><span></span>
2894    </div>
2895  </nav>
2896
2897  <!-- MOBILE MENU -->
2898  <ul class="cg-ws-mobile-menu" id="cgWsMobileMenu">
2899    <button class="cg-ws-mobile-close" onclick="document.getElementById('cgWsMobileMenu').classList.remove('open')" aria-label="Close"></button>
2900    <li><a href="https://www.circulagris.com/" target="_top">Home</a></li>
2901    <li><a href="https://www.circulagris.com/researchers/" target="_top">Researchers</a></li>
2902    <li><a href="https://www.circulagris.com/conferences/" target="_top">Conferences</a></li>
2903    <li><a href="https://www.circulagris.com/workshops/" target="_top">Workshops</a></li>
2904    <li><a href="https://www.circulagris.com/publications/" target="_top">Publications</a></li>
2905    <li class="cg-lang-switch"><a href="https://www.circulagris.com/workshops-ita/" target="_top" style="background:#8B7535;color:#fff !important;padding:6px 14px;border-radius:20px;font-weight:700;cursor:pointer;">IT</a></li>
2906  </ul>
2907
2908  <div class="cg-ws-header">
2909    <h1>Workshops</h1>
2910    <p>Workshops and seminars organised within the CIRCULAGRIS project to promote knowledge transfer and stakeholder engagement.</p>
2911  </div>
2912
2913  <div class="cg-ws-section">
2914
2915    <!-- WORKSHOP: PESCARA (Conclusivo) -->
2916    <div class="cg-ws-card">
2917      <div class="cg-ws-card-top">
2918        <div class="cg-ws-card-poster">
2919          <img src="/images/workshop-pe-poster.jpg" alt="Locandina Workshop Conclusivo Pescara" />
2920        </div>
2921        <div class="cg-ws-card-body">
2922          <div class="cg-ws-card-uni">
2923            <img src="/images/logo-uda.png" alt="UdA" />
2924            <span>"G. d'Annunzio" University of Chieti-Pescara</span>
2925          </div>
2926          <span class="cg-ws-card-badge">Workshop Conclusivo</span>
2927          <div class="cg-ws-card-title">Sistemi Agro-Alimentari Circolari e Sostenibili — Workshop Conclusivo Progetto CIRCULAGRIS</div>
2928          <div style="font-size: 0.95rem; color: #666; font-style: italic; margin-bottom: 12px;">Con evidenze e riflessioni su vitivinicolo</div>
2929          <div class="cg-ws-card-meta">
2930            <div class="cg-ws-card-meta-item">
2931              <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5" /></svg>
2932              12 February 2026
2933            </div>
2934            <div class="cg-ws-card-meta-item">
2935              <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 6v6h4.5m4.5 0a9 9 0 11-18 0 9 9 0 0118 0z" /></svg>
2936              9:00 – 13:00
2937            </div>
2938            <div class="cg-ws-card-meta-item">
2939              <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M15 10.5a3 3 0 11-6 0 3 3 0 016 0z" /><path stroke-linecap="round" stroke-linejoin="round" d="M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1115 0z" /></svg>
2940              Aula De Tommaso, Viale Pindaro 42, Pescara
2941            </div>
2942          </div>
2943          <div class="cg-ws-card-divider"></div>
2944          <p class="cg-ws-card-desc">
2945            The event was held in hybrid mode, allowing both in-presence and remote participation. The workshop involved companies, professional associations and sectoral stakeholders from the wine industry, and registered significant participation of students enrolled in the University's study programmes. Final outcomes of the project were also presented.
2946          </p>
2947        </div>
2948      </div>
2949    </div>
2950
2951    <!-- WORKSHOP: UNIBA Taranto -->
2952    <div class="cg-ws-card">
2953      <div class="cg-ws-card-top">
2954        <div class="cg-ws-card-poster">
2955          <img src="/images/workshop-uniba-taranto.jpg" alt="Locandina Workshop UNIBA Taranto" />
2956        </div>
2957        <div class="cg-ws-card-body">
2958          <div class="cg-ws-card-uni">
2959            <img src="/images/logo-uniba-color.png" alt="UNIBA" />
2960            <span>University of Bari Aldo Moro</span>
2961          </div>
2962          <span class="cg-ws-card-badge">Workshop</span>
2963          <div class="cg-ws-card-title">Circular Economy in the Agri-food Sector: Best Practices and Sustainability Metrics</div>
2964          <div class="cg-ws-card-meta">
2965            <div class="cg-ws-card-meta-item">
2966              <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5" /></svg>
2967              30 January 2026
2968            </div>
2969            <div class="cg-ws-card-meta-item">
2970              <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M15 10.5a3 3 0 11-6 0 3 3 0 016 0z" /><path stroke-linecap="round" stroke-linejoin="round" d="M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1115 0z" /></svg>
2971              Dipartimento Jonico, Taranto
2972            </div>
2973          </div>
2974          <div class="cg-ws-card-divider"></div>
2975          <p class="cg-ws-card-desc">
2976            The workshop addressed the main topics of circular economy in the agri-food sector, with a specific focus on metrics, indicators and tools for assessing sustainability and circularity. The opening session presented the results of the CIRCULAGRIS project, focused on the analysis and promotion of circular models in the pasta and bread, wine and olive oil supply chains.
2977          </p>
2978          <br/>
2979          <p class="cg-ws-card-desc">
2980            A specific contribution was offered by the Ministry of the Environment and Energy Security (MASE), which presented the Made Green in Italy scheme. The workshop concluded with a round table featuring business representatives, fostering dialogue between universities and enterprises on best practices in circularity and sustainability.
2981          </p>
2982        </div>
2983      </div>
2984    </div>
2985
2986    <!-- WORKSHOP: UNIME Messina -->
2987    <div class="cg-ws-card">
2988      <div class="cg-ws-card-top">
2989        <div class="cg-ws-card-poster">
2990          <img src="/images/workshops/locandina-messina.jpg" alt="Locandina Workshop UNIME Messina" />
2991        </div>
2992        <div class="cg-ws-card-body">
2993          <div class="cg-ws-card-uni">
2994            <img src="/images/logo-unime-white.png" alt="UNIME" style="filter: none; background: #fff; border-radius: 50%; padding: 4px; height: 40px;" />
2995            <span>University of Messina</span>
2996          </div>
2997          <span class="cg-ws-card-badge">Workshop</span>
2998          <div class="cg-ws-card-title">Circular Economy in the Agri-food Sector: Best Practices and Sustainability Metrics</div>
2999          <div class="cg-ws-card-meta">
3000            <div class="cg-ws-card-meta-item">
3001              <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5" /></svg>
3002              10 December 2025
3003            </div>
3004            <div class="cg-ws-card-meta-item">
3005              <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 6v6h4.5m4.5 0a9 9 0 11-18 0 9 9 0 0118 0z" /></svg>
3006              9:00 – 13:00
3007            </div>
3008            <div class="cg-ws-card-meta-item">
3009              <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M15 10.5a3 3 0 11-6 0 3 3 0 016 0z" /><path stroke-linecap="round" stroke-linejoin="round" d="M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1115 0z" /></svg>
3010              Aula Magna, Department of Economics, University of Messina
3011            </div>
3012          </div>
3013          <div class="cg-ws-card-divider"></div>
3014          <p class="cg-ws-card-desc">
3015            The Aula Magna of the Department of Economics at the University of Messina hosted the workshop "Circular Economy in the Agri-food Sector: Best Practices and Sustainability Metrics", organised within the PRIN CIRCULAGRIS project.
3016          </p>
3017          <br/>
3018          <p class="cg-ws-card-desc">
3019            Following the institutional greetings from the Rector, Prof. Giovanna Spatari, Prof. Carlo Vermiglio (delegate of the Director of the Department of Economics, Prof. Gustavo Barresi), and the President of Sicindustria Messina, Mr. Pietro Franza, academic experts and business representatives took part. The closing remarks were delivered by Prof. Roberta Salomone, University Delegate for Sustainability and Scientific Coordinator of the UniME Research Unit of CIRCULAGRIS.
3020          </p>
3021          <br/>
3022          <p class="cg-ws-card-desc">
3023            The event represented an important opportunity for discussion on circular and sustainable models for the agri-food sector, with particular attention to assessment metrics and innovative experiences.
3024          </p>
3025        </div>
3026      </div>
3027    </div>
3028
3029  </div>
3030
3031  <!-- FOOTER -->
3032  <footer class="cg-ws-footer">
3033    <div class="cg-ws-footer-logos">
3034      <img src="/images/logo-circulagris.png" alt="CIRCULAGRIS" style="height: 50px; filter: brightness(0) invert(1);" />
3035    </div>
3036    <div class="cg-ws-footer-logos" style="margin-top: 16px;">
3037      <img src="/images/footer-eu-white.png" alt="Finanziato dall'Unione europea - NextGenerationEU" style="height:56px;" />
3038      <img src="/images/footer-mur-white.png" alt="MUR" style="height:42px;" />
3039      <img src="/images/footer-italiadomani-white.png" alt="Italia Domani" style="height:72px;" />
3040      <img src="/images/logo-uda.png" alt="UdA" style="height:80px;" />
3041      <img src="/images/logo-unime-white.png" alt="UNIME" style="height:76px;" />
3042      <img src="/images/logo-uniba.png" alt="UNIBA" style="height:80px;" />
3043    </div>
3044    <p style="margin-top: 20px;">&copy; 2024 CIRCULAGRIS &mdash; PRIN 2022 Project | <a href="https://www.unich.it" target="_blank" style="color:rgba(255,255,255,0.7);text-decoration:none;">Universit&agrave; degli Studi "G. d'Annunzio" Chieti-Pescara</a></p>
3045    <div style="max-width:800px;margin:16px auto 0;font-size:0.72rem;color:rgba(255,255,255,0.35);line-height:1.6;">
3046      Project "Towards circular and sustainable agri-food systems: metrics for assessment (CIRCULAGRIS)" PRIN2022 (Research Project of National Interest) funded by the European Union - Next Generation EU, Mission 4, Component 2, CUP D53D23011220006.
3047    </div>
3048    <div style="margin-top: 16px; font-size: 0.72rem; color: rgba(255,255,255,0.5);">
3049      <a href="https://www.sitiwebshop.it/?utm_source=sito-cliente&utm_medium=circulagris-universita-ch" target="_blank" rel="noopener noreferrer" style="color: rgba(255,255,255,0.8); text-decoration: underline;">Powered by Webshop Human AI Automation</a>
3050    </div>
3051  </footer>
3052
3053</div>
3054`}})),S2=()=>(as(),x.useEffect(()=>{let e=0;const t=3;function i(g){e=g;const d=document.getElementById("heroSliderTrack");d&&(d.style.transform="translateX(-"+g*100+"%)"),document.querySelectorAll(".cg-hero-slider-dot").forEach((h,b)=>h.classList.toggle("active",b===g))}function n(){i((e+1)%t)}function r(){i((e-1+t)%t)}function o(g){const d=document.getElementById(g);if(d){d.scrollIntoView({behavior:"smooth",block:"start"});const y=document.getElementById("cgMobileMenu");y&&y.classList.remove("open");const h=document.getElementById("cgBurger");h&&h.classList.remove("open")}}function a(){const g=document.getElementById("cgMobileMenu"),d=document.getElementById("cgBurger");g&&g.classList.toggle("open"),d&&d.classList.toggle("open")}window.cgSliderGoTo=i,window.cgSliderNext=n,window.cgSliderPrev=r,window.cgScrollTo=o,window.cgToggleMenu=a;let s=setInterval(n,4e3);const l=document.getElementById("heroSlider");l&&(l.addEventListener("mouseenter",()=>clearInterval(s)),l.addEventListener("mouseleave",()=>{s=setInterval(n,4e3)}));const c=25,u=document.getElementById("pubCount");if(u){let g=0;const d=Math.ceil(c/30),y=setInterval(()=>{g=Math.min(g+d,c),u.textContent=String(g),g>=c&&clearInterval(y)},50)}window.cgSwitchTab=function(g){document.querySelectorAll(".cg-desc-tab-btn").forEach(h=>h.classList.remove("active")),document.querySelectorAll(".cg-desc-tab-panel").forEach(h=>h.style.display="none");const d=document.querySelector('[data-tab="'+g+'"]'),y=document.getElementById("tab-"+g);d&&d.classList.add("active"),y&&(y.style.display="block")};function p(){const g=document.querySelector(".cg-institutional-bar"),d=document.querySelector(".cg-nav");g&&d&&(d.style.top=g.offsetHeight+"px")}return requestAnimationFrame(p),setTimeout(p,100),setTimeout(p,500),window.addEventListener("resize",p),window.addEventListener("load",p),()=>{clearInterval(s),window.removeEventListener("resize",p),window.removeEventListener("load",p),delete window.cgSliderGoTo,delete window.cgSliderNext,delete window.cgSliderPrev,delete window.cgScrollTo,delete window.cgSwitchTab}},[]),I.jsx("div",{dangerouslySetInnerHTML:{__html:`
3055<style>
3056.cg-root *, .cg-root *::before, .cg-root *::after { margin: 0; padding: 0; box-sizing: border-box; }
3057.cg-root {
3058  font-family: Calibri, 'Segoe UI', sans-serif;
3059  color: #3a3a4a;
3060  line-height: 1.6;
3061  background: #FAF8F2;
3062}
3063body { overflow-x: hidden; }
3064.cg-root img { max-width: 100%; }
3065
3066/* ─── NAV ─── */
3067.cg-nav {
3068  position: fixed; top: 92px; left: 0; right: 0; z-index: 100;
3069  background: rgba(255,255,255,0.92);
3070  backdrop-filter: blur(16px);
3071  padding: 18px 60px;
3072  display: flex; align-items: center; justify-content: space-between;
3073  border-bottom: 1px solid rgba(0,0,0,0.06);
3074  box-shadow: 0 2px 20px rgba(0,0,0,0.04);
3075}
3076.cg-nav-logo {
3077  display: flex; align-items: center;
3078}
3079.cg-nav-logo img { height: 56px; object-fit: contain; margin-right: 16px; }
3080.cg-nav-links { display: flex; gap: 32px; list-style: none; }
3081
3082/* ─── INSTITUTIONAL BAR ─── */
3083.cg-institutional-bar {
3084  position: fixed; top: 0; left: 0; right: 0; z-index: 101;
3085  background: #2A65AF;
3086  display: flex; align-items: center; justify-content: center;
3087  gap: 28px; padding: 14px 40px;
3088  border-bottom: 1px solid rgba(0,0,0,0.08);
3089  flex-wrap: wrap;
3090}
3091.cg-institutional-bar img { height: 64px; object-fit: contain; flex-shrink: 0; }
3092.cg-institutional-bar .cg-inst-divider {
3093  width: 1px; height: 48px; background: rgba(255,255,255,0.3); flex-shrink: 0;
3094}
3095.cg-nav-links a {
3096  color: #555; text-decoration: none; font-size: 0.82rem;
3097  font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase;
3098  transition: color 0.3s; position: relative; cursor: pointer;
3099}
3100.cg-nav-links a:hover { color: #8B7535; }
3101.cg-nav-links a::after {
3102  content:''; position: absolute; bottom: -6px; left: 0; width: 0; height: 2px;
3103  background: #8B7535; transition: width 0.3s;
3104}
3105.cg-nav-links a:hover::after { width: 100%; }
3106
3107/* ─── HAMBURGER ─── */
3108.cg-burger {
3109  display: none; flex-direction: column; gap: 5px; cursor: pointer;
3110  padding: 8px; z-index: 200;
3111}
3112.cg-burger span {
3113  display: block; width: 24px; height: 2px; background: #3a3a4a;
3114  transition: all 0.3s; border-radius: 2px;
3115}
3116.cg-burger.open span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
3117.cg-burger.open span:nth-child(2) { opacity: 0; }
3118.cg-burger.open span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }
3119
3120/* ─── MOBILE MENU ─── */
3121.cg-mobile-menu {
3122  display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0;
3123  background: #FAF8F2; z-index: 190;
3124  flex-direction: column; align-items: center; justify-content: center;
3125  gap: 24px; list-style: none;
3126  overflow: hidden;
3127}
3128.cg-mobile-menu.open { display: flex; }
3129.cg-mobile-menu a {
3130  color: #3a3a4a; text-decoration: none; font-size: 1.1rem;
3131  font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
3132  font-family: Calibri, 'Segoe UI', sans-serif; cursor: pointer;
3133  transition: color 0.3s;
3134}
3135.cg-mobile-menu a:hover { color: #8B7535; }
3136.cg-mobile-close {
3137  position: absolute; top: 20px; right: 20px;
3138  width: 40px; height: 40px; cursor: pointer;
3139  display: flex; align-items: center; justify-content: center;
3140  background: none; border: none; z-index: 200;
3141}
3142.cg-mobile-close::before, .cg-mobile-close::after {
3143  content: ''; position: absolute;
3144  width: 24px; height: 2px; background: #3a3a4a; border-radius: 2px;
3145}
3146.cg-mobile-close::before { transform: rotate(45deg); }
3147.cg-mobile-close::after { transform: rotate(-45deg); }
3148
3149/* ─── HERO ─── */
3150.cg-hero {
3151  min-height: auto;
3152  background: linear-gradient(160deg, #FAF8F2 0%, #F5F0E6 40%, #EFE9DB 100%);
3153  display: grid; grid-template-columns: 1fr 1fr;
3154  align-items: center;
3155  padding: 240px 60px 80px;
3156  position: relative; overflow: hidden;
3157}
3158.cg-hero::before {
3159  content: ''; position: absolute; top: 0; right: 0;
3160  width: 55%; height: 100%;
3161  background: linear-gradient(135deg, rgba(139,117,53,0.06), rgba(142,69,133,0.08));
3162  clip-path: polygon(15% 0, 100% 0, 100% 100%, 0 100%);
3163}
3164.cg-hero::after {
3165  content: ''; position: absolute; top: 10%; right: 5%;
3166  width: 500px; height: 500px;
3167  background: radial-gradient(circle, rgba(139,117,53,0.08) 0%, transparent 60%);
3168  border-radius: 50%;
3169}
3170.cg-hero-deco1 {
3171  position: absolute; top: 15%; left: 3%;
3172  width: 120px; height: 120px;
3173  border: 2px solid rgba(139,117,53,0.12);
3174  border-radius: 50%;
3175  animation: cg-float 6s ease-in-out infinite;
3176}
3177.cg-hero-deco2 {
3178  position: absolute; bottom: 20%; left: 8%;
3179  width: 80px; height: 80px;
3180  border: 2px solid rgba(142,69,133,0.12);
3181  border-radius: 50%;
3182  animation: cg-float 8s ease-in-out infinite reverse;
3183}
3184.cg-hero-deco3 {
3185  position: absolute; top: 30%; right: 15%;
3186  width: 60px; height: 60px;
3187  background: rgba(139,117,53,0.06);
3188  border-radius: 50%;
3189  animation: cg-float 5s ease-in-out infinite;
3190}
3191@keyframes cg-float {
3192  0%, 100% { transform: translateY(0); }
3193  50% { transform: translateY(-20px); }
3194}
3195.cg-hero-content { position: relative; z-index: 2; max-width: 580px; }
3196.cg-hero-badge {
3197  display: inline-flex; align-items: center; gap: 8px;
3198  background: rgba(139,117,53,0.1);
3199  border: 1px solid rgba(139,117,53,0.2);
3200  color: #8B7535; padding: 8px 20px; border-radius: 50px;
3201  font-size: 0.72rem; font-weight: 700; letter-spacing: 2px;
3202  text-transform: uppercase; margin-bottom: 28px;
3203}
3204.cg-hero-badge::before {
3205  content: ''; width: 8px; height: 8px;
3206  background: #8B7535; border-radius: 50%;
3207  animation: cg-pulse 2s ease-in-out infinite;
3208}
3209@keyframes cg-pulse {
3210  0%, 100% { opacity: 1; transform: scale(1); }
3211  50% { opacity: 0.5; transform: scale(1.5); }
3212}
3213.cg-hero h1 {
3214  font-family: Calibri, 'Segoe UI', sans-serif;
3215  font-size: clamp(1.6rem, 2.8vw, 2.2rem); font-weight: 800;
3216  color: #1a1a2e; letter-spacing: 0.5px; margin-bottom: 12px;
3217  line-height: 1.3; text-transform: uppercase;
3218}
3219.cg-hero h1 span { color: #8B7535; }
3220.cg-hero .cg-hero-project-name {
3221  font-family: Calibri, 'Segoe UI', sans-serif;
3222  font-size: clamp(3rem, 5.5vw, 5rem); font-weight: 900;
3223  color: #1a1a2e; letter-spacing: 3px; margin-bottom: 24px;
3224  line-height: 1.05; text-transform: uppercase;
3225}
3226.cg-hero .cg-hero-project-name span { color: #8B7535; }
3227.cg-hero p {
3228  font-size: 1.05rem; color: #666;
3229  margin-bottom: 36px; font-weight: 400; line-height: 1.8;
3230}
3231.cg-hero-btns { display: flex; gap: 16px; flex-wrap: wrap; }
3232.cg-btn {
3233  display: inline-block; padding: 16px 36px;
3234  background: #8B7535; color: #fff;
3235  font-weight: 700; font-size: 0.82rem;
3236  border-radius: 6px; text-decoration: none;
3237  letter-spacing: 1.5px; text-transform: uppercase;
3238  transition: all 0.3s;
3239  border: none; cursor: pointer;
3240}
3241.cg-btn:hover { background: #756228; transform: translateY(-2px); box-shadow: 0 12px 30px rgba(139,117,53,0.25); }
3242.cg-btn-outline {
3243  display: inline-block; padding: 16px 36px;
3244  background: transparent; color: #1a1a2e;
3245  font-weight: 700; font-size: 0.82rem;
3246  border-radius: 6px; text-decoration: none;
3247  letter-spacing: 1.5px; text-transform: uppercase;
3248  transition: all 0.3s;
3249  border: 2px solid rgba(0,0,0,0.15);
3250}
3251.cg-btn-outline:hover { border-color: #8B7535; color: #8B7535; }
3252
3253.cg-hero-visual {
3254  position: relative; z-index: 2;
3255  display: flex; align-items: center; justify-content: center;
3256}
3257/* ─── HERO SLIDER ─── */
3258.cg-hero-slider {
3259  width: 100%; max-width: 520px;
3260  border-radius: 24px;
3261  overflow: visible;
3262  box-shadow: 0 30px 60px rgba(0,0,0,0.1);
3263  position: relative;
3264}
3265.cg-hero-slider-track-wrapper {
3266  overflow: hidden;
3267  border-radius: 24px;
3268}
3269.cg-hero-slider-track {
3270  display: flex;
3271  transition: transform 0.6s ease;
3272}
3273.cg-hero-slide {
3274  min-width: 100%;
3275  position: relative;
3276}
3277.cg-hero-slide img {
3278  width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block;
3279}
3280.cg-hero-slide-label {
3281  position: absolute; bottom: 0; left: 0; right: 0;
3282  background: linear-gradient(transparent, rgba(0,0,0,0.7));
3283  padding: 40px 24px 20px;
3284  color: #fff;
3285  font-family: Calibri, 'Segoe UI', sans-serif;
3286  font-size: 0.85rem; font-weight: 700;
3287  letter-spacing: 1px; text-transform: uppercase;
3288}
3289.cg-hero-slider-dots {
3290  position: absolute; bottom: 12px; left: 50%;
3291  transform: translateX(-50%);
3292  display: flex; gap: 8px; z-index: 5;
3293}
3294.cg-hero-slider-dot {
3295  width: 10px; height: 10px; border-radius: 50%;
3296  background: rgba(255,255,255,0.5); border: none;
3297  cursor: pointer; transition: background 0.3s;
3298}
3299.cg-hero-slider-dot.active { background: #8B7535; }
3300.cg-hero-slider-arrows {
3301  position: absolute; top: 50%; left: 0; right: 0;
3302  display: flex; justify-content: space-between;
3303  transform: translateY(-50%); z-index: 5; padding: 0 12px;
3304}
3305.cg-hero-slider-arrow {
3306  width: 36px; height: 36px; border-radius: 50%;
3307  background: rgba(255,255,255,0.8); border: none;
3308  cursor: pointer; font-size: 1.2rem; color: #333;
3309  display: flex; align-items: center; justify-content: center;
3310  transition: background 0.3s;
3311}
3312.cg-hero-slider-arrow:hover { background: #fff; }
3313
3314.cg-hero-float-box {
3315  position: absolute; bottom: -30px; right: -20px;
3316  background: white;
3317  border-radius: 16px; padding: 20px 24px;
3318  box-shadow: 0 20px 50px rgba(0,0,0,0.12);
3319  border: 1px solid rgba(0,0,0,0.05);
3320  max-width: 240px; z-index: 10;
3321}
3322.cg-hero-float-box h4 {
3323  font-family: Calibri, 'Segoe UI', sans-serif;
3324  font-size: 0.85rem; font-weight: 700; color: #8E4585;
3325  text-transform: uppercase; letter-spacing: 1px; margin-bottom: 10px;
3326}
3327.cg-hero-float-box ul { list-style: none; }
3328.cg-hero-float-box li {
3329  padding: 5px 0; padding-left: 18px; position: relative;
3330  color: #555; font-size: 0.8rem;
3331}
3332.cg-hero-float-box li::before {
3333  content: ''; position: absolute; left: 0; top: 50%;
3334  width: 8px; height: 8px; border-radius: 2px;
3335  background: #8B7535; transform: translateY(-50%) rotate(45deg);
3336}
3337
3338/* ─── SERVICES CARDS (overlapping hero) ─── */
3339.cg-services-bar {
3340  position: relative; z-index: 10;
3341  margin-top: -60px;
3342  padding: 0 60px;
3343  display: grid; grid-template-columns: repeat(4, 1fr);
3344  gap: 0;
3345}
3346.cg-service-card {
3347  background: #fff;
3348  padding: 40px 28px;
3349  border: 1px solid rgba(0,0,0,0.06);
3350  transition: all 0.4s;
3351  position: relative;
3352  overflow: hidden;
3353}
3354.cg-service-card::before {
3355  content: ''; position: absolute; top: 0; left: 0; right: 0;
3356  height: 3px; background: #8B7535;
3357  transform: scaleX(0); transition: transform 0.4s; transform-origin: left;
3358}
3359.cg-service-card:hover { transform: translateY(-8px); box-shadow: 0 20px 40px rgba(0,0,0,0.08); }
3360.cg-service-card:hover::before { transform: scaleX(1); }
3361.cg-service-img {
3362  width: 100%; height: 120px; object-fit: cover;
3363  border-radius: 10px; margin-bottom: 18px;
3364}
3365.cg-service-card h3 {
3366  font-family: Calibri, 'Segoe UI', sans-serif;
3367  font-size: 0.95rem; font-weight: 700; color: #1a1a2e;
3368  text-transform: uppercase; letter-spacing: 1px; margin-bottom: 12px;
3369}
3370.cg-service-card p { font-size: 0.85rem; color: #888; line-height: 1.7; }
3371
3372/* ─── SECTION COMMON ─── */
3373.cg-section { padding: 100px 60px; max-width: 1400px; margin: 0 auto; }
3374.cg-section-full { padding: 100px 60px; }
3375.cg-section-header { margin-bottom: 60px; }
3376.cg-section-label {
3377  font-size: 0.72rem; font-weight: 700; color: #8B7535;
3378  letter-spacing: 3px; text-transform: uppercase; margin-bottom: 14px;
3379  display: flex; align-items: center; gap: 10px;
3380}
3381.cg-section-label::before {
3382  content: ''; width: 30px; height: 2px; background: #8B7535;
3383}
3384.cg-section-title {
3385  font-family: Calibri, 'Segoe UI', sans-serif;
3386  font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 800;
3387  margin-bottom: 16px; color: #1a1a2e;
3388  text-transform: uppercase; letter-spacing: 1px; line-height: 1.15;
3389}
3390.cg-section-subtitle {
3391  font-size: 1rem; color: #777; max-width: 600px;
3392  line-height: 1.8; margin: 0 auto;
3393}
3394
3395/* ─── PROGETTO (About section) ─── */
3396.cg-about { background: #fff; }
3397.cg-about-inner {
3398  max-width: 1400px; margin: 0 auto;
3399  display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center;
3400}
3401.cg-about-text p {
3402  color: #666; line-height: 1.9; margin-bottom: 20px; font-size: 1rem;
3403}
3404.cg-about-features { margin-top: 32px; }
3405.cg-about-feature {
3406  display: flex; gap: 16px; align-items: flex-start;
3407  padding: 16px 0;
3408  border-bottom: 1px solid rgba(0,0,0,0.06);
3409}
3410.cg-about-feature-icon {
3411  width: 44px; height: 44px; flex-shrink: 0;
3412  background: rgba(139,117,53,0.08);
3413  border-radius: 10px;
3414  display: flex; align-items: center; justify-content: center;
3415  overflow: hidden;
3416}
3417.cg-about-feature-icon img { width: 100%; height: 100%; object-fit: cover; border-radius: 10px; }
3418.cg-about-feature h4 {
3419  font-family: Calibri, 'Segoe UI', sans-serif;
3420  font-size: 0.95rem; font-weight: 700; color: #1a1a2e;
3421  text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 4px;
3422}
3423.cg-about-feature p { font-size: 0.85rem; color: #888; margin: 0; line-height: 1.5; }
3424
3425.cg-about-image {
3426  position: relative;
3427  border-radius: 20px; overflow: visible;
3428}
3429.cg-about-image-main {
3430  width: 100%; border-radius: 20px; overflow: hidden;
3431  box-shadow: 0 20px 50px rgba(0,0,0,0.08);
3432}
3433.cg-about-image-main img {
3434  width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block;
3435}
3436
3437/* ─── STATS ─── */
3438.cg-stats-section {
3439  background: linear-gradient(135deg, #8E4585, #8B7535);
3440  padding: 60px;
3441}
3442.cg-stats-inner {
3443  max-width: 1400px; margin: 0 auto;
3444  display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px;
3445}
3446.cg-stat { text-align: center; }
3447.cg-stat-num {
3448  font-family: Calibri, 'Segoe UI', sans-serif;
3449  font-size: 3rem; font-weight: 900; color: #fff;
3450}
3451.cg-stat-label {
3452  font-size: 0.8rem; color: rgba(255,255,255,0.85);
3453  font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase;
3454  margin-top: 4px;
3455}
3456
3457/* ─── OBIETTIVI (Objectives) ─── */
3458.cg-objectives { background: #FAF8F2; }
3459.cg-objectives-layout {
3460  max-width: 1200px; margin: 0 auto;
3461  position: relative;
3462  display: flex; flex-direction: column; align-items: center; gap: 40px;
3463}
3464.cg-objectives-center {
3465  width: 220px; height: 220px;
3466  border-radius: 50%;
3467  display: flex; align-items: center; justify-content: center;
3468  overflow: hidden;
3469  box-shadow: 0 20px 50px rgba(139,117,53,0.25);
3470}
3471.cg-objectives-center img {
3472  width: 100%; height: 100%; object-fit: cover;
3473}
3474.cg-objectives-grid {
3475  display: grid; grid-template-columns: 1fr 1fr;
3476  gap: 20px; width: 100%;
3477}
3478.cg-objective-card {
3479  background: #fff;
3480  border-radius: 16px;
3481  padding: 28px 24px;
3482  border: 1px solid rgba(0,0,0,0.06);
3483  transition: all 0.3s;
3484  display: flex; gap: 16px; align-items: flex-start;
3485}
3486.cg-objective-card:hover { box-shadow: 0 10px 30px rgba(0,0,0,0.06); transform: translateY(-4px); }
3487.cg-objective-card:last-child { grid-column: 1 / -1; max-width: 50%; justify-self: center; }
3488.cg-objective-icon {
3489  flex-shrink: 0;
3490  width: 42px; height: 42px;
3491  background: linear-gradient(135deg, rgba(139,117,53,0.1), rgba(142,69,133,0.1));
3492  border-radius: 12px;
3493  display: flex; align-items: center; justify-content: center;
3494  color: #8B7535;
3495}
3496.cg-objective-icon svg {
3497  width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
3498}
3499.cg-objective-card p {
3500  font-size: 0.9rem; color: #555; line-height: 1.7;
3501}
3502
3503/* ─── TEAM ─── */
3504.cg-team { background: #fff; }
3505.cg-team-group-photo {
3506  max-width: 900px; margin: 40px auto 0; border-radius: 20px; overflow: hidden;
3507  box-shadow: 0 20px 50px rgba(0,0,0,0.08);
3508}
3509.cg-team-group-photo img {
3510  width: 100%; display: block; object-fit: cover;
3511}
3512
3513/* ─── RESEARCH UNITS ─── */
3514.cg-units-grid {
3515  display: grid; grid-template-columns: repeat(3, 1fr);
3516  gap: 24px; max-width: 1200px; margin: 40px auto 0;
3517  padding: 0 60px;
3518}
3519.cg-unit-card {
3520  background: #FAF8F2;
3521  border-radius: 16px;
3522  padding: 40px 28px;
3523  text-align: center;
3524  border: 1px solid rgba(0,0,0,0.06);
3525  transition: all 0.4s;
3526  cursor: pointer;
3527}
3528.cg-unit-card:hover { transform: translateY(-6px); box-shadow: 0 15px 30px rgba(0,0,0,0.08); border-color: rgba(139,117,53,0.2); }
3529.cg-unit-logo {
3530  width: 140px; height: 140px;
3531  border-radius: 50%;
3532  object-fit: contain;
3533  margin: 0 auto 20px;
3534  background: #fff;
3535  padding: 12px;
3536  box-shadow: 0 4px 12px rgba(0,0,0,0.06);
3537}
3538.cg-unit-card h3 {
3539  font-family: Calibri, 'Segoe UI', sans-serif;
3540  font-size: 0.95rem; font-weight: 700; color: #1a1a2e;
3541  text-transform: uppercase; letter-spacing: 0.5px;
3542}
3543.cg-unit-card p {
3544  font-size: 0.82rem; color: #888; margin-top: 8px; line-height: 1.6;
3545}
3546.cg-unit-pi {
3547  font-size: 0.78rem; color: #8B7535; font-weight: 600; margin-top: 6px;
3548}
3549
3550/* ─── RICERCA (Lab Services style) ─── */
3551.cg-research { background: #FAF8F2; }
3552.cg-research-inner {
3553  max-width: 1400px; margin: 0 auto;
3554  display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center;
3555}
3556.cg-research-visual {
3557  border-radius: 20px;
3558  overflow: hidden;
3559  box-shadow: 0 20px 50px rgba(0,0,0,0.08);
3560}
3561.cg-research-visual img {
3562  width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block;
3563}
3564.cg-research-text h3 {
3565  font-family: Calibri, 'Segoe UI', sans-serif;
3566  font-size: 1.6rem; font-weight: 800; color: #1a1a2e;
3567  text-transform: uppercase; letter-spacing: 1px; margin-bottom: 20px;
3568}
3569.cg-research-text p { color: #666; line-height: 1.9; margin-bottom: 16px; font-size: 1rem; }
3570.cg-research-tags { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 28px; }
3571.cg-research-tag {
3572  padding: 8px 18px;
3573  background: rgba(139,117,53,0.08);
3574  border: 1px solid rgba(139,117,53,0.15);
3575  color: #8B7535; border-radius: 6px;
3576  font-size: 0.78rem; font-weight: 700;
3577  letter-spacing: 0.5px; text-transform: uppercase;
3578}
3579
3580/* ─── TIMELINE (Roadmap) ─── */
3581.cg-roadmap { background: #fff; }
3582.cg-roadmap-grid {
3583  display: grid; grid-template-columns: repeat(4, 1fr);
3584  gap: 24px; max-width: 1400px; margin: 0 auto;
3585}
3586.cg-roadmap-item {
3587  background: #FAF8F2;
3588  border-radius: 16px;
3589  padding: 36px 28px;
3590  border: 1px solid rgba(0,0,0,0.04);
3591  transition: all 0.4s;
3592  position: relative; overflow: hidden;
3593}
3594.cg-roadmap-item::before {
3595  content: ''; position: absolute; top: 0; left: 0;
3596  width: 4px; height: 100%;
3597  background: linear-gradient(180deg, #8B7535, #8E4585);
3598  opacity: 0; transition: opacity 0.3s;
3599}
3600.cg-roadmap-item:hover { transform: translateY(-6px); box-shadow: 0 15px 30px rgba(0,0,0,0.06); }
3601.cg-roadmap-item:hover::before { opacity: 1; }
3602.cg-roadmap-num {
3603  font-family: Calibri, 'Segoe UI', sans-serif;
3604  font-size: 2.5rem; font-weight: 900; color: rgba(139,117,53,0.15);
3605  margin-bottom: 16px; line-height: 1;
3606}
3607.cg-roadmap-item h3 {
3608  font-family: Calibri, 'Segoe UI', sans-serif;
3609  font-size: 1rem; font-weight: 700; color: #1a1a2e;
3610  text-transform: uppercase; letter-spacing: 0.5px;
3611  margin-bottom: 12px;
3612}
3613.cg-roadmap-item p { font-size: 0.85rem; color: #888; line-height: 1.7; }
3614.cg-roadmap-steps { list-style: none; margin-top: 12px; }
3615.cg-roadmap-steps li {
3616  font-size: 0.8rem; color: #666; line-height: 1.6;
3617  padding: 4px 0 4px 16px; position: relative;
3618}
3619.cg-roadmap-steps li::before {
3620  content: ''; position: absolute; left: 0; top: 11px;
3621  width: 6px; height: 6px; background: #8B7535;
3622  border-radius: 50%;
3623}
3624
3625/* ─── CONTATTI ─── */
3626.cg-contact {
3627  background: #fff;
3628  text-align: center;
3629}
3630.cg-contact-inner { max-width: 700px; margin: 0 auto; }
3631.cg-contact p { color: #666; font-size: 1.05rem; line-height: 1.8; margin-bottom: 20px; }
3632.cg-contact-uni {
3633  font-family: Calibri, 'Segoe UI', sans-serif;
3634  font-size: 1.15rem; font-weight: 700; color: #1a1a2e;
3635  margin-bottom: 4px;
3636}
3637.cg-contact-loc { font-size: 0.9rem; color: #999; margin-bottom: 24px; }
3638.cg-contact-email {
3639  display: inline-block; font-size: 1.3rem; font-weight: 700;
3640  color: #8B7535; text-decoration: none; margin-bottom: 32px;
3641  transition: opacity 0.3s;
3642}
3643.cg-contact-email:hover { opacity: 0.8; }
3644
3645/* ─── INSTITUTIONAL LOGOS ─── */
3646.cg-institutional {
3647  display: flex; align-items: center; justify-content: center;
3648  gap: 32px; flex-wrap: wrap; margin-top: 40px;
3649  padding: 24px;
3650  background: rgba(0,0,0,0.02);
3651  border-radius: 12px;
3652}
3653.cg-institutional img {
3654  height: 50px; object-fit: contain;
3655}
3656.cg-institutional-text {
3657  font-size: 0.72rem; color: #999;
3658  text-align: center; margin-top: 12px;
3659  line-height: 1.6;
3660}
3661
3662/* ─── CONFERENCES / DISSEMINATION ─── */
3663.cg-conferences {
3664  background: #FAF8F2;
3665}
3666.cg-conf-cta {
3667  text-align: center; margin-top: 40px;
3668}
3669.cg-conf-cta a {
3670  display: inline-block; padding: 14px 36px;
3671  background: linear-gradient(135deg, #8B7535, #D4A017);
3672  color: #fff; font-weight: 700; font-size: 0.9rem;
3673  text-decoration: none; border-radius: 50px;
3674  letter-spacing: 1px; text-transform: uppercase;
3675  transition: transform 0.3s, box-shadow 0.3s;
3676}
3677.cg-conf-cta a:hover {
3678  transform: translateY(-2px); box-shadow: 0 8px 24px rgba(139,117,53,0.3);
3679}
3680.cg-conf-list { max-width: 900px; margin: 0 auto; }
3681.cg-conf-item {
3682  padding: 28px 0;
3683  border-bottom: 1px solid rgba(139,117,53,0.12);
3684}
3685.cg-conf-item:last-child { border-bottom: none; }
3686.cg-conf-event {
3687  font-family: Calibri, 'Segoe UI', sans-serif;
3688  font-size: 1.05rem; font-weight: 700; color: #1a1a2e;
3689  margin-bottom: 4px; line-height: 1.4;
3690}
3691.cg-conf-details {
3692  font-size: 0.82rem; color: #8B7535; font-weight: 600;
3693  margin-bottom: 8px;
3694}
3695.cg-conf-type {
3696  display: inline-block;
3697  font-size: 0.7rem; font-weight: 700; text-transform: uppercase;
3698  letter-spacing: 1px;
3699  padding: 3px 10px; border-radius: 20px;
3700  margin-bottom: 8px;
3701}
3702.cg-conf-type-oral { background: rgba(142,69,133,0.12); color: #8E4585; }
3703.cg-conf-type-poster { background: rgba(139,117,53,0.12); color: #8B7535; }
3704.cg-conf-authors {
3705  font-size: 0.82rem; color: #777; line-height: 1.5;
3706}
3707.cg-conf-title-text {
3708  font-style: italic; color: #555; font-size: 0.88rem;
3709  margin-top: 4px;
3710}
3711
3712/* ─── WORKSHOPS ─── */
3713.cg-workshops-placeholder {
3714  max-width: 900px; margin: 0 auto;
3715  padding: 40px; text-align: center;
3716  background: rgba(139,117,53,0.04);
3717  border: 1px dashed rgba(139,117,53,0.2);
3718  border-radius: 16px;
3719  color: #999; font-size: 0.95rem;
3720}
3721
3722/* ─── FOOTER ─── */
3723.cg-footer {
3724  background: #2A65AF;
3725  text-align: center; padding: 40px 24px;
3726  font-size: 0.82rem; color: rgba(255,255,255,0.7);
3727}
3728.cg-footer a { color: #fff; text-decoration: none; font-weight: 600; }
3729.cg-footer-logos {
3730  display: flex; align-items: center; justify-content: center;
3731  gap: 24px; margin-bottom: 20px; flex-wrap: wrap;
3732}
3733.cg-footer-logos img { height: 56px; object-fit: contain; }
3734.cg-footer-funding {
3735  font-size: 0.72rem; color: rgba(255,255,255,0.6);
3736  margin-top: 12px; line-height: 1.6;
3737  max-width: 700px; margin-left: auto; margin-right: auto;
3738}
3739
3740/* ─── PROJECT DESCRIPTION TABS ─── */
3741.cg-desc-section { background: #FAF8F2; }
3742.cg-desc-tabs {
3743  display: flex; gap: 0; border-bottom: 2px solid rgba(0,0,0,0.08); margin-bottom: 32px;
3744}
3745.cg-desc-tab-btn {
3746  padding: 14px 28px; border: none; background: none; cursor: pointer;
3747  font-family: Calibri, 'Segoe UI', sans-serif;
3748  font-size: 0.82rem; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase;
3749  color: #888; position: relative; transition: color 0.3s;
3750}
3751.cg-desc-tab-btn::after {
3752  content: ''; position: absolute; bottom: -2px; left: 0; right: 0;
3753  height: 3px; background: #8B7535; transform: scaleX(0); transition: transform 0.3s;
3754}
3755.cg-desc-tab-btn:hover { color: #555; }
3756.cg-desc-tab-btn.active { color: #8B7535; }
3757.cg-desc-tab-btn.active::after { transform: scaleX(1); }
3758.cg-desc-tab-panel { display: none; }
3759.cg-desc-tab-panel p { font-size: 0.95rem; color: #555; line-height: 1.9; margin-bottom: 16px; }
3760.cg-desc-tab-panel strong { color: #1a1a2e; }
3761.cg-desc-ru-list { list-style: none; margin: 16px 0; }
3762.cg-desc-ru-list li {
3763  padding: 12px 0 12px 20px; position: relative;
3764  font-size: 0.92rem; color: #555; line-height: 1.6;
3765  border-bottom: 1px solid rgba(0,0,0,0.04);
3766}
3767.cg-desc-ru-list li::before {
3768  content: ''; position: absolute; left: 0; top: 18px;
3769  width: 8px; height: 8px; background: #8B7535; border-radius: 2px; transform: rotate(45deg);
3770}
3771.cg-desc-results-grid {
3772  display: grid; grid-template-columns: 1fr; gap: 16px; counter-reset: result;
3773}
3774.cg-desc-result {
3775  display: flex; gap: 16px; align-items: flex-start;
3776  padding: 16px 20px; background: #fff; border-radius: 12px;
3777  border: 1px solid rgba(0,0,0,0.06);
3778}
3779.cg-desc-result-num {
3780  flex-shrink: 0; width: 36px; height: 36px;
3781  background: rgba(139,117,53,0.1); border-radius: 10px;
3782  display: flex; align-items: center; justify-content: center;
3783  font-family: Calibri, 'Segoe UI', sans-serif;
3784  font-size: 0.85rem; font-weight: 800; color: #8B7535;
3785}
3786.cg-desc-result p { font-size: 0.88rem; color: #555; line-height: 1.7; margin: 0; }
3787
3788/* ─── RESPONSIVE ─── */
3789@media (max-width: 1024px) {
3790  .cg-hide-mobile { display: none !important; }
3791  .cg-hero { grid-template-columns: 1fr; padding: 180px 40px 80px; }
3792  .cg-hero-visual { display: none; }
3793  .cg-services-bar { grid-template-columns: repeat(2, 1fr); padding: 0 40px; }
3794  .cg-about-inner, .cg-research-inner { grid-template-columns: 1fr; gap: 40px; }
3795  .cg-objectives-grid { grid-template-columns: 1fr; }
3796  .cg-objective-card:last-child { max-width: 100%; }
3797  .cg-roadmap-grid { grid-template-columns: repeat(2, 1fr); }
3798  .cg-stats-inner { grid-template-columns: repeat(2, 1fr); }
3799  .cg-units-grid { grid-template-columns: 1fr; padding: 0 40px; }
3800  .cg-nav { padding: 16px 24px; }
3801  .cg-nav-links { display: none; }
3802  .cg-burger { display: flex; }
3803  .cg-section, .cg-section-full { padding: 80px 40px; }
3804  .cg-institutional-bar { padding: 10px 20px; gap: 14px; }
3805  .cg-institutional-bar img { height: 44px; }
3806  .cg-institutional-bar .cg-inst-divider { height: 32px; }
3807  .cg-conf-list { padding: 0 20px; }
3808}
3809@media (max-width: 640px) {
3810  .cg-services-bar { grid-template-columns: 1fr; margin-top: -30px; }
3811  .cg-objectives-grid { grid-template-columns: 1fr; }
3812  .cg-roadmap-grid { grid-template-columns: 1fr; padding: 0 10px !important; }
3813  .cg-stats-inner { grid-template-columns: 1fr; gap: 24px; }
3814  .cg-hero { padding: 200px 10px 50px; text-align: center; }
3815  .cg-hero p { text-align: center; }
3816  .cg-hero-btns { justify-content: center; }
3817  .cg-btn, .cg-btn-outline { width: 100%; text-align: center; padding: 14px 20px; }
3818  .cg-section, .cg-section-full { padding: 50px 10px; text-align: center; }
3819  .cg-about-inner { padding: 0 10px !important; }
3820  .cg-section-full > div { padding-left: 10px !important; padding-right: 10px !important; }
3821  .cg-roadmap-grid { padding: 0 10px !important; }
3822  .cg-services-bar { padding: 0 10px; }
3823  .cg-units-grid { padding: 0 10px; }
3824  .cg-institutional-bar { padding: 8px 6px; gap: 8px; justify-content: space-between; flex-wrap: nowrap; }
3825  .cg-institutional-bar img { height: 32px !important; flex-shrink: 1; min-width: 0; object-fit: contain; }
3826  .cg-institutional-bar .cg-logo-italiadomani { height: 58px !important; }
3827  .cg-institutional-bar .cg-inst-divider { display: flex; height: 28px; background: rgba(255,255,255,0.3); width: 1px; flex-shrink: 0; }
3828  
3829  .cg-hero-project-name { font-size: 2rem !important; }
3830  .cg-section-title { font-size: 1.6rem; text-align: center; }
3831  .cg-footer-logos img { height: 40px; }
3832  .cg-conf-event { font-size: 0.92rem; }
3833  .cg-objectives-layout { padding: 0 10px !important; }
3834  .cg-objective-card { padding: 16px !important; text-align: center; }
3835  .cg-objective-card:last-child { max-width: 100% !important; }
3836  .cg-roadmap-item { padding: 20px 16px; text-align: center; }
3837  .cg-conf-item { padding: 16px 0; text-align: center; }
3838  .cg-conf-list { padding: 0 4px !important; }
3839  .cg-research-inner { padding: 0 10px !important; text-align: center; }
3840  .cg-footer { padding: 30px 10px; }
3841  .cg-footer-logos { gap: 12px; }
3842  .cg-footer-logos img { height: 32px; }
3843  .cg-about-text { text-align: center; }
3844  .cg-about-inner p { text-align: center; }
3845}
3846</style>
3847
3848<div class="cg-root">
3849
3850<!-- INSTITUTIONAL BAR (logo firma con logo ente beneficiario — secondo tipo MUR) -->
3851<div class="cg-institutional-bar">
3852  <img src="/images/footer-eu-white.png" alt="Finanziato dall'Unione europea - NextGenerationEU" style="height:56px;" />
3853  <div class="cg-inst-divider"></div>
3854  <img src="/images/footer-mur-white.png" alt="Ministero dell'Università e della Ricerca" style="height:42px;" />
3855  <div class="cg-inst-divider"></div>
3856  <img src="/images/footer-italiadomani-white.png" alt="Italia Domani - Piano Nazionale di Ripresa e Resilienza" style="height:72px;" class="cg-logo-italiadomani" />
3857  <div class="cg-inst-divider cg-hide-mobile"></div>
3858  <img src="/images/logo-uda.png" alt="UdA - Università G. d'Annunzio" style="height:80px;" class="cg-hide-mobile" />
3859  <img src="/images/logo-unime-white.png" alt="UNIME" style="height:76px;" class="cg-hide-mobile" />
3860  <img src="/images/logo-uniba.png" alt="UNIBA" style="height:80px;" class="cg-hide-mobile" />
3861</div>
3862
3863<nav class="cg-nav">
3864  <div class="cg-nav-logo"><img src="/images/logo-circulagris.png" alt="CIRCULAGRIS" /></div>
3865  <ul class="cg-nav-links">
3866    <li><a onclick="cgScrollTo('progetto')">Progetto</a></li>
3867    <li><a onclick="cgScrollTo('obiettivi')">Obiettivi</a></li>
3868    <li><a onclick="cgScrollTo('roadmap')">Fasi</a></li>
3869    <li><a onclick="cgScrollTo('ricerca')">Risultati della ricerca</a></li>
3870    <li><a onclick="cgScrollTo('team')" style="cursor:pointer">Ricercatori</a></li>
3871    <li><a href="https://www.circulagris.com/workshops-ita/" target="_top" style="cursor:pointer">Workshop</a></li>
3872    <li><a href="https://www.circulagris.com/conferenze/" target="_top" style="cursor:pointer">Convegni</a></li>
3873    <li><a href="https://www.circulagris.com/pubblicazioni/" target="_top" style="cursor:pointer">Pubblicazioni</a></li>
3874    <li><a onclick="cgScrollTo('contatti')">Contatti</a></li>
3875    <li class="cg-lang-switch"><a href="https://www.circulagris.com/" target="_top" style="background:#8B7535;color:#fff !important;padding:6px 14px;border-radius:20px;font-weight:700;cursor:pointer;">EN</a></li>
3876  </ul>
3877  <div class="cg-burger" id="cgBurger" onclick="cgToggleMenu()">
3878    <span></span><span></span><span></span>
3879  </div>
3880</nav>
3881
3882<!-- MOBILE MENU -->
3883<ul class="cg-mobile-menu" id="cgMobileMenu">
3884  <button class="cg-mobile-close" onclick="cgToggleMenu()" aria-label="Chiudi menu"></button>
3885  <li><a onclick="cgScrollTo('progetto')">Progetto</a></li>
3886  <li><a onclick="cgScrollTo('obiettivi')">Obiettivi</a></li>
3887  
3888  <li><a onclick="cgScrollTo('roadmap')">Fasi</a></li>
3889  <li><a onclick="cgScrollTo('ricerca')">Risultati della ricerca</a></li>
3890  <li><a onclick="cgScrollTo('team')" style="cursor:pointer">Ricercatori</a></li>
3891  <li>
3891<a href="https://www.circulagris.com/workshops-ita/" target="_top" style="cursor:pointer">Workshop</a></li>
3892  <li><a href="https://www.circulagris.com/conferenze/" target="_top" style="cursor:pointer">Convegni</a></li>
3893  <li><a href="https://www.circulagris.com/pubblicazioni/" target="_top" style="cursor:pointer">Pubblicazioni</a></li>
3894  <li><a onclick="cgScrollTo('contatti')">Contatti</a></li>
3895    <li class="cg-lang-switch"><a href="https://www.circulagris.com/" target="_top" style="background:#8B7535;color:#fff !important;padding:6px 14px;border-radius:20px;font-weight:700;cursor:pointer;">EN</a></li>
3896</ul>
3897
3898<!-- HERO -->
3899<section class="cg-hero">
3900  <div class="cg-hero-deco1"></div>
3901  <div class="cg-hero-deco2"></div>
3902  <div class="cg-hero-deco3"></div>
3903  <div class="cg-hero-content">
3904    <div class="cg-hero-badge">PRIN 2022</div>
3905    <h1>Towards Circular and Sustainable Agri-food Systems: Metrics for Assessment</h1>
3906    <div class="cg-hero-project-name" style="font-family: Calibri, 'Segoe UI', sans-serif; font-size: clamp(3rem, 5.5vw, 5rem); font-weight: 900; color: #8B7535; letter-spacing: 3px; text-transform: uppercase; line-height: 1.05; margin-bottom: 24px;">CIRCULAGRIS</div>
3907    <p>Circolarità e sostenibilità nei sistemi agroalimentari: valutazione integrata delle filiere del vino, dell'olio d'oliva e del pane/pasta attraverso metodologie basate sul ciclo di vita e indicatori di circolarità.</p>
3908    <div class="cg-hero-btns">
3909      <a onclick="cgScrollTo('progetto')" class="cg-btn" style="cursor:pointer;">Scopri il progetto</a>
3910      <a onclick="cgScrollTo('contatti')" class="cg-btn-outline" style="cursor:pointer;">Contattaci</a>
3911    </div>
3912  </div>
3913  <div class="cg-hero-visual">
3914    <div class="cg-hero-slider" id="heroSlider">
3915      <div class="cg-hero-slider-track-wrapper">
3916      <div class="cg-hero-slider-track" id="heroSliderTrack">
3917        <div class="cg-hero-slide">
3918          <img src="/images/research-vineyard.jpg" alt="Wine supply chain" />
3919          <div class="cg-hero-slide-label">Filiera del vino</div>
3920        </div>
3921        <div class="cg-hero-slide">
3922          <img src="/images/olive-grove.jpg" alt="Olive oil supply chain" />
3923          <div class="cg-hero-slide-label">Filiera dell'olio d'oliva</div>
3924        </div>
3925        <div class="cg-hero-slide">
3926          <img src="/images/hero-wheat.jpg" alt="Bread/Pasta supply chain" />
3927          <div class="cg-hero-slide-label">Filiera pane/pasta</div>
3928        </div>
3929      </div>
3930      </div>
3931      <div class="cg-hero-slider-arrows">
3932        <button class="cg-hero-slider-arrow" onclick="window.cgSliderPrev()">‹</button>
3933        <button class="cg-hero-slider-arrow" onclick="window.cgSliderNext()">›</button>
3934      </div>
3935      <div class="cg-hero-slider-dots" id="heroSliderDots">
3936        <button class="cg-hero-slider-dot active" onclick="window.cgSliderGoTo(0)"></button>
3937        <button class="cg-hero-slider-dot" onclick="window.cgSliderGoTo(1)"></button>
3938        <button class="cg-hero-slider-dot" onclick="window.cgSliderGoTo(2)"></button>
3939      </div>
3940      <div class="cg-hero-float-box">
3941      <h4>Filiere</h4>
3942      <ul>
3943        <li>Vino</li>
3944        <li>Olio d'oliva</li>
3945        <li>Pane/pasta</li>
3946      </ul>
3947    </div>
3948    </div>
3949  </div>
3950</section>
3951
3952<!-- SERVICES BAR (Metodologie) — Ordine: LCA, S-LCA, LCC, Circularity Metrics -->
3953<div class="cg-services-bar">
3954  <div class="cg-service-card">
3955    <img class="cg-service-img" src="/images/lca-environmental.jpg" alt="Life Cycle Assessment" />
3956    <h3>Life Cycle Assessment</h3>
3957    <p>Valutazione dei potenziali impatti ambientali lungo l'intero ciclo di vita secondo gli standard ISO 14040/44.</p>
3958  </div>
3959  <div class="cg-service-card">
3960    <img class="cg-service-img" src="/images/social-lca.jpg" alt="Social Life Cycle Assessment" />
3961    <h3>Social Life Cycle Assessment</h3>
3962    <p>Valutazione dei potenziali impatti sociali sugli stakeholder.</p>
3963  </div>
3964  <div class="cg-service-card">
3965    <img class="cg-service-img" src="/images/life-cycle-costing.jpg" alt="Life Cycle Costing" />
3966    <h3>Life Cycle Costing</h3>
3967    <p>Analisi dei costi interni e delle esternalità.</p>
3968  </div>
3969  <div class="cg-service-card">
3970    <img class="cg-service-img" src="/images/circularity-wheel.png" alt="Circularity Metrics" />
3971    <h3>Metriche di circolarità</h3>
3972    <p>
3972Indicatori quantitativi per misurare il grado di circolarità delle filiere agroalimentari.</p>
3973  </div>
3974</div>
3975
3976<!-- ABOUT / PROGETTO -->
3977<section id="progetto" class="cg-section-full cg-about">
3978  <div class="cg-about-inner" style="padding: 0 60px; max-width: 1400px; margin: 0 auto;">
3979    <div>
3980      <div class="cg-section-header">
3981        <div class="cg-section-label">Il Progetto</div>
3982        <h2 class="cg-section-title">Circolarità e Sostenibilità nel Settore Agroalimentare</h2>
3983      </div>
3984      <div class="cg-about-text">
3985        <p>CIRCULAGRIS è un Progetto di Ricerca di Interesse Nazionale (PRIN) volto allo sviluppo di metriche di circolarità e sostenibilità per le filiere agroalimentari italiane, con particolare attenzione alle filiere del vino, dell'olio d'oliva e del pane/pasta.</p>
3986        <p>Il progetto integra le metodologie Life Cycle Assessment (LCA), Social Life Cycle Assessment (S-LCA) e Life Cycle Costing (LCC) e indicatori di circolarità al fine di fornire una valutazione olistica degli impatti ambientali, sociali ed economici dei sistemi circolari.</p>
3987      </div>
3988      <div class="cg-about-features">
3989        <div class="cg-about-feature">
3990          <div class="cg-about-feature-icon">
3991            <img src="/images/about-lab.jpg" alt="Laboratory" />
3992          </div>
3993          <div>
3994            <h4>Metodologie con approccio di ciclo di vita</h4>
3995            <p>Integrazione di LCA, S-LCA e LCC</p>
3996          </div>
3997        </div>
3998        <div class="cg-about-feature">
3999          <div class="cg-about-feature-icon">
4000            <img src="/images/circularity-indicators.jpg" alt="Circularity indicators" />
4001          </div>
4002          <div>
4003            <h4>Indicatori di circolarità</h4>
4004            <p>Metriche e indicatori per la valutazione della circolarità nel settore agroalimentare</p>
4005          </div>
4006        </div>
4007      </div>
4008    </div>
4009    <div class="cg-about-image">
4010      <div class="cg-about-image-main">
4011        <img src="/images/agrifood-lab.png" alt="Agri-food products in research laboratory - olive oil, wine, pasta" />
4012      </div>
4013    </div>
4014  </div>
4015</section>
4016
4017<!-- BRIEF DESCRIPTION OF THE PROJECT -->
4018<section class="cg-section-full cg-desc-section">
4019  <div class="cg-section" style="padding-top: 60px; padding-bottom: 60px;">
4020    <div class="cg-section-header">
4021      <div class="cg-section-label">Breve descrizione</div>
4022      <h2 class="cg-section-title">Il progetto</h2>
4023    </div>
4024
4025    <!-- Description content -->
4026    <div style="max-width: 900px; margin: 0 auto;">
4027      <p style="font-size: 0.92rem; color: #555; line-height: 1.8; margin-bottom: 16px;">La sostenibilità agricola è al centro di numerose iniziative dell'Unione Europea, tra cui la Politica Agricola Comune e la "Farm to Fork Strategy". Quest'ultima è fondamentale per l'attuazione del nuovo European Green Deal (EGD), nel quale il paradigma dell'Economia Circolare (CE) è stato saldamente integrato sia nelle politiche sia nelle pratiche aziendali. In Italia, l'agricoltura ricopre una posizione di rilievo.</p>
4028      <p style="font-size: 0.92rem; color: #555; line-height: 1.8; margin-bottom: 16px;">La letteratura sottolinea l'importanza di valutare gli impatti di sostenibilità sia a livello aziendale sia inter-aziendale. Una filiera circolare non sempre rappresenta la scelta più sostenibile e gli impatti devono essere valutati caso per caso. Per il settore agroalimentare, le metodologie basate sul ciclo di vita — Life Cycle Assessment, Social Life Cycle Assessment e Life Cycle Costing — sono considerate adeguate per la valutazione della sostenibilità. È tuttavia necessario un ulteriore sviluppo metodologico per valutare in modo efficace le pratiche di economia circolare.</p>
4029      <p style="font-size: 0.92rem; color: #555; line-height: 1.8; margin-bottom: 16px;"><strong>Il progetto mira a comprendere la relazione tra circolarità e sostenibilità in questo settore, individuando metriche adeguate ed esplorando l'impatto delle pratiche circolari sulla sostenibilità.</strong></p>
4030      <p style="font-size: 0.92rem; color: #555; line-height: 1.8; margin-bottom: 12px;">Il progetto prevede la partecipazione di tre Unità di Ricerca italiane:</p>
4031      <ul class="cg-desc-ru-list">
4032        <li><strong>RU1</strong>
4032 — Università degli Studi "G. d'Annunzio" di Chieti-Pescara (Abruzzo) — <em>Coordinatore del progetto</em></li>
4033        <li><strong>RU2</strong> — Università degli Studi di Messina (Sicilia)</li>
4034        <li><strong>RU3</strong> — Università degli Studi di Bari "Aldo Moro" (Puglia)</li>
4035      </ul>
4036    </div>
4037  </div>
4038</section>
4039
4040<!-- STATS -->
4041<div class="cg-stats-section">
4042  <div class="cg-stats-inner">
4043    <div class="cg-stat"><div class="cg-stat-num">3</div><div class="cg-stat-label">Filiere analizzate</div></div>
4044    <div class="cg-stat"><div class="cg-stat-num">3</div><div class="cg-stat-label">Unità di ricerca</div></div>
4045    <div class="cg-stat"><div class="cg-stat-num" id="pubCount">0</div><div class="cg-stat-label">Prodotti della ricerca</div></div>
4046    <div class="cg-stat"><div class="cg-stat-num">28</div><div class="cg-stat-label">Mesi di ricerca</div></div>
4047  </div>
4048</div>
4049
4050<!-- OBIETTIVI -->
4051<section id="obiettivi" class="cg-section-full cg-objectives">
4052  <div class="cg-section" style="padding-bottom: 40px;">
4053    <div class="cg-section-header">
4054      <div class="cg-section-label">Obiettivi</div>
4055      <h2 class="cg-section-title">Obiettivi</h2>
4056    </div>
4057  </div>
4058  <div class="cg-objectives-layout" style="padding: 0 60px;">
4059    <div class="cg-objectives-center">
4060      <img src="/images/circularity-wheel.png" alt="Circularity in agri-food" />
4061    </div>
4062    <div class="cg-objectives-grid">
4063      <div class="cg-objective-card">
4064        <div class="cg-objective-icon"><svg viewBox="0 0 24 24"><path d="M3 3h18v18H3zM9 3v18M15 3v18M3 9h18M3 15h18"/></svg></div>
4065        <p>Sviluppo di un framework metodologico per valutare le implicazioni sulla sostenibilità delle tre filiere agroalimentari selezionate.</p>
4066      </div>
4067      <div class="cg-objective-card">
4068        <div class="cg-objective-icon"><svg viewBox="0 0 24 24"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"/><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"/></svg></div>
4069        <p>Approfondimento delle scelte metodologiche per l'applicazione di approcci basati sul ciclo di vita ai prodotti alimentari in filiere circolari.</p>
4070      </div>
4071      <div class="cg-objective-card">
4072        <div class="cg-objective-icon"><svg viewBox="0 0 24 24"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/></svg></div>
4073        <p>Identificazione di indicatori per la valutazione della circolarità specifici per il settore agroalimentare.</p>
4074      </div>
4075      <div class="cg-objective-card">
4076        <div class="cg-objective-icon"><svg viewBox="0 0 24 24"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></div>
4077        <p>Definizione di un approccio integrato alla valutazione di circolarità e sostenibilità, a supporto dei decisori nell'orientare le filiere verso modelli più circolari e, al contempo, più sostenibili.</p>
4078      </div>
4079      <div class="cg-objective-card">
4080        <div class="cg-objective-icon"><svg viewBox="0 0 24 24"><path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"/></svg></div>
4081        <p>Individuazione di best practice sostenibili per la configurazione delle filiere del vino, dell'olio d'oliva e di pasta/pane.</p>
4082      </div>
4083    </div>
4084  </div>
4085</section>
4086
4087<!-- TEAM -->
4088<section id="team" class="cg-section-full cg-team">
4089  <div class="cg-section" style="padding-bottom: 40px;">
4090    <div class="cg-section-header">
4091      <div class="cg-section-label">Gruppo di ricerca</div>
4092      <h2 class="cg-section-title">I nostri ricercatori</h2>
4093      <p class="cg-section-subtitle">Un gruppo di ricerca interdisciplinare con competenze in economia circolare, sostenibilità, Life Cycle Thinking e sistemi agroalimentari.</p>
4094    </div>
4095  </div>
4096  
4097  <!-- Research Units -->
4098  <div style="padding: 0 60px; max-width: 1400px; margin: 0 auto;">
4099    <div class="cg-section-label" style="margin-bottom: 24px;">Unità di ricerca</div>
4100  </div>
4101  <div class="cg-units-grid">
4102    <div class="cg-unit-card">
4103      <img class="cg-unit-logo" src="/images/logo-uda.png" alt="Logo Università degli Studi G. d'Annu
4103nzio Chieti-Pescara" />
4104      <h3>Università degli Studi "G. d'Annunzio"<br/>Chieti-Pescara</h3>
4105      <p>Coordinatore del progetto CIRCULAGRIS, il gruppo di Chieti-Pescara vanta una consolidata esperienza nella ricerca multi- e interdisciplinare sulla sostenibilità. I membri dell'unità hanno maturato molti anni di esperienza scientifica nel campo della Life Cycle Assessment (LCA) applicata ai sistemi agroalimentari.</p>
4106      <div class="cg-unit-pi">Principal Investigator: Prof. Andrea Raggi</div>
4107    </div>
4108    <div class="cg-unit-card">
4109      <img class="cg-unit-logo" src="/images/logo-unime-color.png" alt="Logo Università di Messina" />
4110      <h3>Università degli Studi di Messina</h3>
4111      <p>L'unità di Messina ha esperienza in progetti di ricerca multi- e interdisciplinari, a livello nazionale e internazionale, in cui strumenti e metodi del Life Cycle Thinking (LCT) sono stati applicati al sistema agroalimentare, con particolare attenzione alla filiera del vino, alla mappatura dei sistemi circolari e all'adattamento delle metriche di circolarità.</p>
4112      <div class="cg-unit-pi">Responsabile di Unità: Prof.ssa Roberta Salomone</div>
4113    </div>
4114    <div class="cg-unit-card">
4115      <img class="cg-unit-logo" src="/images/logo-uniba-color.png" alt="Logo Università di Bari Aldo Moro" />
4116      <h3>Università degli Studi di Bari Aldo Moro</h3>
4117      <p>L'unità di Bari si concentra sull'Environmental Life Cycle Costing (LCC) nelle filiere del pane e della pasta e nel settore dell'olio d'oliva, con l'obiettivo di integrare LCA, LCC e S-LCA per la valutazione dei sistemi circolari e la definizione di indicatori economici, ambientali e sociali.</p>
4118      <div class="cg-unit-pi">Responsabile di Unità: Prof. Bruno Notarnicola</div>
4119    </div>
4120  </div>
4121
4122  <!-- View All Researchers Link -->
4123  <div style="text-align: center; margin: 40px 0 20px;">
4124    <a href="https://www.circulagris.com/ricercatori/" target="_top" style="display: inline-flex; align-items: center; gap: 8px; padding: 14px 32px; background: linear-gradient(135deg, #8B7535, #D4A017); color: #fff; text-decoration: none; border-radius: 50px; font-weight: 700; font-size: 0.85rem; letter-spacing: 1px; text-transform: uppercase; transition: opacity 0.3s;">Vedi tutti i ricercatori →</a>
4125  </div>
4126
4127  <!-- Group Photo -->
4128  <div class="cg-team-group-photo">
4129    <img src="/images/team-group.jpg" alt="CIRCULAGRIS research team at workshop" />
4130  </div>
4131</section>
4132
4133<!-- ROADMAP -->
4134<section id="roadmap" class="cg-section-full cg-roadmap">
4135  <div class="cg-section" style="padding-bottom: 40px;">
4136    <div class="cg-section-header">
4137      <div class="cg-section-label">Fasi del progetto</div>
4138      <h2 class="cg-section-title">Roadmap della ricerca</h2>
4139    </div>
4140  </div>
4141  <div class="cg-roadmap-grid" style="padding: 0 60px;">
4142    <div class="cg-roadmap-item">
4143      <div class="cg-roadmap-num">01</div>
4144      <h3>Fase 1 — Stato dell'arte e rassegna della letteratura</h3>
4145      <ul class="cg-roadmap-steps">
4146        <li>Step 1.1 — Individuazione degli indicatori per la misurazione della circolarità nel settore agroalimentare</li>
4147        <li>Step 1.2 — Definizione di sistemi circolari nelle filiere agroalimentari selezionate</li>
4148        <li>Step 1.3 — Identificazione dei metodi e degli indicatori di circolarità più idonei per le filiere selezionate</li>
4149      </ul>
4150    </div>
4151    <div class="cg-roadmap-item">
4152      <div class="cg-roadmap-num">02</div>
4153      <h3>Fase 2 — Sviluppo metodologico</h3>
4154      <ul class="cg-roadmap-steps">
4155        <li>Step 2.1 — Adattamento delle metodologie Life Cycle Thinking (LCT) ai settori agroalimentari</li>
4156        <li>Step 2.2 — Integrazione delle diverse dimensioni della sostenibilità e delle metriche di circolarità</li>
4157      </ul>
4158    </div>
4159    <div class="cg-roadmap-item">
4160      <div class="cg-roadmap-num">03</div>
4161      <h3>Fase 3 — Ricerca applicativa</h3>
4162      <ul class="cg-roadmap-steps">
4163        <li>Step 3.1 — Valutazione della circolarità e della sostenibilità delle filiere selezionate</li>
4164        <li>Step 3.2 — Confronto tra circolarità e sostenibilità dei sistemi mediante analisi di scenario</li>
4165      </ul>
4166    </div>
4167    <div class="cg-roadmap-item">
4168      <div class="cg-roadmap-num">04</div>
4169      <h3>Fase 4 — Disseminazione e comunicazione</h3>
4170      <p>Diffusione dei risultati attraverso pubblicazioni scientifiche, partecipazione a convegni e attività di coinvolgimento degli stakeholder.</p>
4171    </div>
4172  </div>
4173</section>
4174
4175<!-- RISULTATI DELLA RICERCA -->
4176<section id="ricerca" class="cg-section-full cg-research">
4177  <div style="padding: 0 60px; max-width: 1400px; margin: 0 auto;">
4178    <div class="cg-section-header" style="text-align:center;">
4179      <div class="cg-section-label" style="justify-content:center;">Attività di ricerca</div>
4180      <h2 class="cg-section-title">Risultati della ricerca</h2>
4181      <p class="cg-section-subtitle">Esplora i risultati scientifici del progetto CIRCULAGRIS.</p>
4182      <div style="display:flex; flex-wrap:wrap; justify-content:center; gap:18px; margin-top:32px;">
4183        <a href="https://www.circulagris.com/pubblicazioni/" target="_top" style="display:inline-flex; align-items:center; padding:14px 36px; background:linear-gradient(135deg,#8B7535,#D4A017); color:#fff; font-weight:700; font-size:0.9rem; letter-spacing:1.5px; text-transform:uppercase; text-decoration:none; border-radius:50px; transition:all 0.3s; box-shadow:0 4px 15px rgba(139,117,53,0.3);">Pubblicazioni</a>
4184        <a href="https://www.circulagris.com/conferenze/" target="_top" style="display:inline-flex; align-items:center; padding:14px 36px; background:linear-gradient(135deg,#8B7535,#D4A017); color:#fff; font-weight:700; font-size:0.9rem; letter-spacing:1.5px; text-transform:uppercase; text-decoration:none; border-radius:50px; transition:all 0.3s; box-shadow:0 4px 15px rgba(139,117,53,0.3);">Convegni</a>
4185        <a href="https://www.circulagris.com/workshops-ita/" target="_top" style="display:inline-flex; align-items:center; padding:14px 36px; background:linear-gradient(135deg,#8B7535,#D4A017); color:#fff; font-weight:700; font-size:0.9rem; letter-spacing:1.5px; text-transform:uppercase; text-decoration:none; border-radius:50px; transition:all 0.3s; box-shadow:0 4px 15px rgba(139,117,53,0.3);">Workshop</a>
4186      </div>
4187    </div>
4188  </div>
4189</section>
4190
4191<!-- CONTATTI -->
4192<section id="contatti" class="cg-section-full cg-contact">
4193  <div class="cg-contact-inner">
4194    <div class="cg-section-header" style="text-align: center;">
4195      <div class="cg-section-label" style="justify-content: center;">Contatti</div>
4196      <h2 class="cg-section-title">Contattaci</h2>
4197    </div>
4198    <p>Interessato al progetto CIRCULAGRIS o vuoi saperne di più sulle nostre attività di ricerca? Contattaci.</p>
4199    <div class="cg-contact-uni">
4199Università degli Studi "G. d'Annunzio" Chieti-Pescara</div>
4200    <div class="cg-contact-loc">Viale Pindaro 42, 65127 Pescara, Italia</div>
4201    <a href="mailto:[email protected]" class="cg-contact-email">[email protected]</a>
4202    <div style="margin-top: 8px;">
4203      <a href="https://www.linkedin.com/company/circulagris-project-prin-2022" target="_blank" rel="noopener noreferrer" style="display: inline-flex; align-items: center; gap: 8px; color: #0077B5; text-decoration: none; font-size: 0.95rem; font-weight: 600; transition: opacity 0.3s;">
4204        <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="#0077B5"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>
4205        CIRCULAGRIS su LinkedIn
4206      </a>
4207    </div>
4208  </div>
4209</section>
4210
4211<!-- FOOTER -->
4212<footer class="cg-footer">
4213  <div class="cg-footer-logos">
4214    <img src="/images/logo-circulagris.png" alt="CIRCULAGRIS" style="height: 50px; filter: brightness(0) invert(1);" />
4215  </div>
4216  <div class="cg-footer-logos" style="margin-top: 16px;">
4217    <img src="/images/footer-eu-white.png" alt="Finanziato dall'Unione europea - NextGenerationEU" style="height:56px;" />
4218    <img src="/images/footer-mur-white.png" alt="Ministero dell'Università e della Ricerca" style="height:42px;" />
4219    <img src="/images/footer-italiadomani-white.png" alt="Italia Domani - PNRR" style="height:72px;" />
4220    <img src="/images/logo-uda.png" alt="UdA" style="height:80px;" />
4221    <img src="/images/logo-unime-white.png" alt="UNIME" style="height:76px;" />
4222    <img src="/images/logo-uniba.png" alt="UNIBA" style="height:80px;" />
4223  </div>
4224  <p style="margin-top: 20px;">© 2024 CIRCULAGRIS — PRIN 2022 | <a href="https://www.unich.it" target="_blank">Università degli Studi "G. d'Annunzio" Chieti-Pescara</a></p>
4225  <div class="cg-footer-funding">
4226    Progetto di ricerca "Towards circular and sustainable agri-food systems: metrics for assessment (CIRCULAGRIS)" PRIN2022 (Progetti di Ricerca di Interesse Nazionale) finanziato dall'Unione Europea - Next Generation EU, Missione 4, Componente 2, CUP D53D23011220006.
4227  </div>
4228  <div style="margin-top: 16px; font-size: 0.72rem; color: rgba(255,255,255,0.5);">
4229    <a href="https://www.sitiwebshop.it/?utm_source=sito-cliente&utm_medium=circulagris-universita-ch" target="_blank" rel="noopener noreferrer" style="color: rgba(255,255,255,0.8); text-decoration: underline;">Powered by Webshop Human AI Automation</a>
4230  </div>
4231</footer>
4232
4233</div>
4234
4235`}})),C2=()=>(as(),x.useEffect(()=>{function e(){const t=document.querySelector(".cg-res-inst-bar"),i=document.querySelector(".cg-res-nav");t&&i&&(i.style.top=t.offsetHeight+"px")}return requestAnimationFrame(e),setTimeout(e,100),setTimeout(e,500),window.addEventListener("resize",e),window.addEventListener("load",e),()=>{window.removeEventListener("resize",e),window.removeEventListener("load",e)}},[]),I.jsx("div",{dangerouslySetInnerHTML:{__html:`
4236<style>
4237.cg-res-root *, .cg-res-root *::before, .cg-res-root *::after { margin: 0; padding: 0; box-sizing: border-box; }
4238.cg-res-root {
4239  font-family: Calibri, 'Segoe UI', sans-serif;
4240  color: #3a3a4a; line-height: 1.6; background: #FAF8F2;
4241  min-height: 100vh;
4242}
4243.cg-res-root img { max-width: 100%; }
4244
4245/* ─── INSTITUTIONAL BAR ─── */
4246.cg-res-inst-bar {
4247  position: fixed; top: 0; left: 0; right: 0; z-index: 101;
4248  background: #2A65AF;
4249  display: flex; align-items: center; justify-content: center;
4250  gap: 28px; padding: 14px 40px;
4251  border-bottom: 1px solid rgba(0,0,0,0.08);
4252  flex-wrap: wrap;
4253}
4254.cg-res-inst-bar img { height: 64px; object-fit: contain; flex-shrink: 0; }
4255.cg-res-inst-bar .cg-inst-divider {
4256  width: 1px; height: 48px; background: rgba(255,255,255,0.3); flex-shrink: 0;
4257}
4258
4259/* ─── NAV ─── */
4260.cg-res-nav {
4261  position: fixed; top: 92px; left: 0; right: 0; z-index: 100;
4262  background: rgba(255,255,255,0.92);
4263  backdrop-filter: blur(16px);
4264  padding: 18px 60px;
4265  display: flex; align-items: center; justify-content: space-between;
4266  border-bottom: 1px solid rgba(0,0,0,0.06);
4267  box-shadow: 0 2px 20px rgba(0,0,0,0.04);
4268}
4269.cg-res-nav-logo { display: flex; align-items: center; }
4270.cg-res-nav-logo img { height: 56px; object-fit: contain; margin-right: 16px; }
4271.cg-res-nav-links { display: flex; gap: 32px; list-style: none; }
4272.cg-res-nav-links a {
4273  color: #555; text-decoration: none; font-size: 0.82rem;
4274  font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase;
4275  transition: color 0.3s; position: relative; cursor: pointer;
4276}
4277.cg-res-nav-links a:hover { color: #8B7535; }
4278.cg-res-nav-links a::after {
4279  content:''; position: absolute; bottom: -6px; left: 0; width: 0; height: 2px;
4280  background: #8B7535; transition: width 0.3s;
4281}
4282.cg-res-nav-links a:hover::after { width: 100%; }
4283.cg-res-nav-links a.active { color: #8B7535; }
4284.cg-res-nav-links a.active::after { width: 100%; }
4285
4286/* ─── BURGER ─── */
4287.cg-res-burger {
4288  display: none; flex-direction: column; gap: 5px; cursor: pointer;
4289  padding: 8px; z-index: 200;
4290}
4291.cg-res-burger span {
4292  display: block; width: 24px; height: 2px; background: #3a3a4a;
4293  transition: all 0.3s; border-radius: 2px;
4294}
4295/* ─── MOBILE MENU ─── */
4296.cg-res-mobile-menu {
4297  display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0;
4298  background: #FAF8F2; z-index: 190;
4299  flex-direction: column; align-items: center; justify-content: center;
4300  gap: 24px; list-style: none; overflow: hidden;
4301}
4302.cg-res-mobile-menu.open { display: flex; }
4303.cg-res-mobile-menu a {
4304  color: #3a3a4a; text-decoration: none; font-size: 1.1rem;
4305  font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
4306  font-family: Calibri, 'Segoe UI', sans-serif; cursor: pointer;
4307  transition: color 0.3s;
4308}
4309.cg-res-mobile-menu a:hover { color: #8B7535; }
4310.cg-res-mobile-close {
4311  position: absolute; top: 20px; right: 20px;
4312  width: 40px; height: 40px; cursor: pointer;
4313  display: flex; align-items: center; justify-content: center;
4314  background: none; border: none; z-index: 200;
4315}
4316.cg-res-mobile-close::before, .cg-res-mobile-close::after {
4317  content: ''; position: absolute;
4318  width: 24px; height: 2px; background: #3a3a4a; border-radius: 2px;
4319}
4320.cg-res-mobile-close::before { transform: rotate(45deg); }
4321.cg-res-mobile-close::after { transform: rotate(-45deg); }
4322
4323.cg-res-header {
4324  background: #2A65AF;
4325  padding: 200px 60px 60px; text-align: center;
4326}
4327.cg-res-header h1 {
4328  font-family: Calibri, 'Segoe UI', sans-serif;
4329  font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 800;
4330  color: #fff; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 12px;
4331}
4332.cg-res-header p {
4333  font-size: 1rem; color: rgba(255,255,255,0.7); max-width: 600px; margin: 0 auto;
4334}
4335
4336.cg-res-section {
4337  max-width: 1200px; margin: 0 auto; padding: 60px 40px;
4338}
4339.cg-res-unit-title {
4340  font-family: Calibri, 'Segoe UI', sans-serif;
4341  font-size: 1.3rem; font-weight: 800; color: #1a1a2e;
4342  text-transform: uppercase; letter-spacing: 1px;
4343  margin-bottom: 8px; display: flex; align-items: center; gap: 16px;
4344}
4345.cg-res-unit-title img { height: 50px; border-radius: 50%; }
4346.cg-res-unit-subtitle {
4347  font-size: 0.82rem; color: #8B7535; font-weight: 600;
4348  letter-spacing: 1px; margin-bottom: 32px;
4349}
4350.cg-res-grid {
4351  display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
4352  gap: 28px; margin-bottom: 60px;
4353}
4354.cg-res-card {
4355  background: #fff; border-radius: 16px; overflow: visible;
4356  border: 1px solid rgba(0,0,0,0.06); transition: all 0.3s;
4357  display: flex; flex-direction: column; align-items: center;
4358  text-align: center; padding: 60px 20px 24px; position: relative;
4359  margin-top: 50px;
4360  border-top: 3px solid #8B7535;
4361}
4362.cg-res-card:hover { transform: translateY(-4px); box-shadow: 0 12px 30px rgba(0,0,0,0.08); }
4363.cg-res-card-img-wrap {
4364  position: absolute; top: -50px; left: 50%; transform: translateX(-50%);
4365  width: 100px; height: 100px; border-radius: 50%; overflow: hidden;
4366  border: 4px solid #fff; box-shadow: 0 4px 16px rgba(0,0,0,0.12);
4367  background: #eee;
4368}
4369.cg-res-card-img {
4370  width: 100%; height: 100%; object-fit: cover;
4371}
4372.cg-res-card-info { flex: 1; }
4373.cg-res-card-info h3 {
4374  font-family: Calibri, 'Segoe UI', sans-serif;
4375  font-size: 1rem; font-weight: 700; color: #1a1a2e; margin-bottom: 4px;
4376}
4377.cg-res-card-role {
4378  font-size: 0.72rem; color: #8B7535; font-weight: 700;
4379  letter-spacing: 1px; text-transform: uppercase; margin-bottom: 10px;
4380}
4381.cg-res-card-info p { font-size: 0.78rem; color: #777; line-height: 1.5; }
4382
4383.cg-res-divider {
4384  width: 60px; height: 3px; background: linear-gradient(90deg, #8B7535, #8E4585);
4385  margin-bottom: 24px; border-radius: 2px;
4386}
4387.cg-res-unit-desc {
4388  font-size: 0.85rem; color: #555; line-height: 1.7; margin-bottom: 36px;
4389  text-align: justify;
4390}
4391
4392@media (max-width: 900px) {
4393  .cg-res-hide-mobile { display: none !important; }
4394  .cg-res-nav-links { display: none; }
4395  .cg-res-burger { display: flex; }
4396  .cg-res-inst-bar { padding: 10px 20px; gap: 14px; flex-wrap: wrap; }
4397  .cg-res-inst-bar img { height: 44px; }
4398  .cg-res-inst-bar .cg-inst-divider { height: 32px; }
4399}
4400@media (max-width: 640px) {
4401  .cg-res-header { padding: 220px 10px 40px; }
4402  .cg-res-section { padding: 40px 10px; text-align: center; }
4403  .cg-res-grid { grid-template-columns: 1fr; }
4404  .cg-res-inst-bar { padding: 8px 6px; gap: 8px; justify-content: space-between; flex-wrap: nowrap; }
4405  .cg-res-inst-bar img { height: 32px !important; flex-shrink: 1; min-width: 0; object-fit: contain; }
4406  .cg-res-inst-bar .cg-logo-italiadomani { height: 58px !important; }
4407  .cg-res-inst-bar .cg-inst-divider { display: flex; height: 28px; background: rgba(255,255,255,0.3); width: 1px; flex-shrink: 0; }
4408  .cg-res-nav { top: auto; padding: 12px 10px; }
4409  .cg-res-card-info p { font-size: 0.75rem; text-align: center; }
4410  .cg-res-unit-title { justify-content: center; text-align: center; }
4411  .cg-res-unit-subtitle { text-align: center; }
4412  .cg-res-unit-desc { font-size: 0.8rem; text-align: center; }
4413  .cg-res-divider { margin-left: auto; margin-right: auto; }
4414  .cg-res-footer { padding: 30px 10px; }
4415  .cg-res-footer-logos { gap: 12px; }
4416  .cg-res-footer-logos img { height: 32px; }
4417}
4418/* ─── FOOTER ─── */
4419.cg-res-footer {
4420  background: #2A65AF; color: rgba(255,255,255,0.6);
4421  padding: 40px 60px; text-align: center; font-size: 0.8rem;
4422}
4423.cg-res-footer-logos {
4424  display: flex; align-items: center; justify-content: center;
4425  gap: 24px; margin-bottom: 20px; flex-wrap: wrap;
4426}
4427.cg-res-footer-logos img { height: 40px; object-fit: contain; }
4428</style>
4429
4430<div class="cg-res-root">
4431
4432  <!-- INSTITUTIONAL BAR -->
4433  <div class="cg-res-inst-bar">
4434    <img src="/images/footer-eu-white.png" alt="Finanziato dall'Unione europea - NextGenerationEU" style="height:56px;" />
4435    <div class="cg-inst-divider"></div>
4436    <img src="/images/footer-mur-white.png" alt="MUR" style="height:42px;" />
4437    <div class="cg-inst-divider"></div>
4438    <img src="/images/footer-italiadomani-white.png" alt="Italia Domani" style="height:72px;" class="cg-logo-italiadomani" />
4439    <div class="cg-inst-divider cg-res-hide-mobile"></div>
4440    <img src="/images/logo-uda.png" alt="UdA" style="height:80px;" class="cg-res-hide-mobile" />
4441    <img src="/images/logo-unime-white.png" alt="UNIME" style="height:76px;" class="cg-res-hide-mobile" />
4442    <img src="/images/logo-uniba.png" alt="UNIBA" style="height:80px;" class="cg-res-hide-mobile" />
4443  </div>
4444
4445  <!-- NAV -->
4446  <nav class="cg-res-nav">
4447    <a class="cg-res-nav-logo" href="https://www.circulagris.com/home-ita/" target="_top"><img src="/images/logo-circulagris.png" alt="CIRCULAGRIS" /></a>
4448    <ul class="cg-res-nav-links">
4449      <li><a href="https://www.circulagris.com/home-ita/" target="_top">Home</a></li>
4450      <li><a href="https://www.circulagris.com/ricercatori/" target="_top" class="active">Ricercatori</a></li>
4451      <li><a href="https://www.circulagris.com/conferenze/" target="_top">Convegni</a></li>
4452      <li><a href="https://www.circulagris.com/workshops-ita/" target="_top">Workshop</a></li>
4453      <li><a href="https://www.circulagris.com/pubblicazioni/" target="_top">Pubblicazioni</a></li>
4454    <li class="cg-lang-switch"><a href="https://www.circulagris.com/researchers/" target="_top" style="background:#8B7535;color:#fff !important;padding:6px 14px;border-radius:20px;font-weight:700;cursor:pointer;">EN</a></li>
4455    </ul>
4456    <div class="cg-res-burger" onclick="(function(){var m=document.getElementById('cgResMobileMenu');m.classList.toggle('open')})()">
4457      <span></span><span></span><span></span>
4458    </div>
4459  </nav>
4460
4461  <!-- MOBILE MENU -->
4462  <ul class="cg-res-mobile-menu" id="cgResMobileMenu">
4463    <button class="cg-res-mobile-close" onclick="document.getElementById('cgResMobileMenu').classList.remove('open')" aria-label="Chiudi"></button>
4464    <li><a href="https://www.circulagris.com/home-ita/" target="_top">Home</a></li>
4465    <li><a href="https://www.circulagris.com/ricercatori/" target="_top">Ricercatori</a></li>
4466    <li><a href="https://www.circulagris.com/conferenze/" target="_top">Convegni</a></li>
4467    <li><a href="https://www.circulagris.com/workshops-ita/" target="_top">Workshop</a></li>
4468    <li><a href="https://www.circulagris.com/pubblicazioni/" target="_top">Pubblicazioni</a></li>
4469    <li class="cg-lang-switch"><a href="https://www.circulagris.com/researchers/" target="_top" style="background:#8B7535;color:#fff !important;padding:6px 14px;border-radius:20px;font-weight:700;cursor:pointer;">EN</a></li>
4470  </ul>
4471
4472  <div class="cg-res-header">
4473    <h1>I nostri ricercatori</h1>
4474    <p>Un team multidisciplinare con competenze in economia circolare, sostenibilità, Life Cycle Thinking e sistemi agroalimentari.</p>
4475  </div>
4476
4477  <div class="cg-res-section">
4478
4479    <!-- UNIT 1: UNICH -->
4480    <div class="cg-res-unit-title">
4481      <img src="/images/logo-uda.png" alt="UNICH" />
4482      Università degli Studi "G. d'Annunzio" di Chieti-Pescara
4483    </div>
4484    <div class="cg-res-unit-subtitle">Principal Investigator: Prof. Andrea Raggi</div>
4485    <div class="cg-res-divider"></div>
4486    <div class="cg-res-unit-desc">L'unità di Chieti-Pescara, in qualità di Principal Investigator, coordina l'intero Progetto, supervisionando l'implementazione delle diverse fasi e attività svolte dalle singole unità di ricerca. Il team ha partecipato a numerosi progetti di ricerca multi- e interdisciplinari a livello nazionale e internazionale, anche con il coinvolgimento di stakeholder (principalmente imprese), e ha recentemente coordinato il WP5 sulle metriche di sostenibilità di sistemi circolari nell'ambito del progetto CRESTING. L'unità contribuirà inoltre alla definizione degli approcci metodologici e alla realizzazione delle attività congiunte previste nelle diverse fasi del progetto. Grazie alla propria riconosciuta competenza a livello internazionale nell'ambito Social Life Cycle Assessment (S-LCA), il gruppo contribuirà in particolare allo sviluppo di un framework S-LCA finalizzato ad una comprensione approfondita delle pratiche sociali nel settore agroalimentare.<br/><br/>In continuità con il progetto PRIN 2017 ILCIDAF, l'unità si concentrerà sulla filiera vitivinicola. I membri del gruppo vantano infatti una lunga esperienza di ricerca nel settore vitivinicolo, con particolare riferimento allo sviluppo teorico e all'applicazione dei metodi e degli strumenti del Life Cycle Thinking, oltre a una consolidata rete di contatti con imprese del settore.<br/><br/>Saranno mappati sistemi e pratiche circolari nella filiera del vino. Successivamente, le metriche di circolarità e i metodi di valutazione individuati per il settore agroalimentare saranno adattati ai sistemi selezionati, al fine di verificare l'eventuale relazione tra pratiche circolari e performance di sostenibilità. Tale relazione sarà ulteriormente approfondita per identificare quali pratiche circolari garantiscono migliori risultati in termini di sostenibilità.</div>
4487    <div class="cg-res-grid">
4488      <div class="cg-res-card">
4489        <div class="cg-res-card-img-wrap">
4490          <img class="cg-res-card-img" src="/images/team-arzoumanidis.jpg" alt="Ioannis Arzoumanidis" />
4491        </div>
4492        <div class="cg-res-card-info">
4493          <h3>Ioannis Arzoumanidis</h3>
4494          <p>Ioannis Arzoumanidis è Professore Associato di Scienze Merceologiche presso il Dipartimento di Economia dell'Università "G. d'Annu
4494nzio" di Pescara. Ha conseguito il dottorato in "Innovation, Accounting, Environment and Finance". Insegna Life Cycle Assessment for Business, Energy Management and Sustainability e Sustainability and Responsible Tourism. Da oltre 17 anni svolge attività di ricerca accademica nei settori della life cycle sustainability assessment, dell'ecologia industriale e dell'economia circolare, anche dal punto di vista metodologico. È autore o coautore di oltre 65 pubblicazioni scientifiche.</p>
4495        </div>
4496      </div>
4497      <div class="cg-res-card">
4498        <div class="cg-res-card-img-wrap">
4499          <img class="cg-res-card-img" src="/images/team-petti.jpg" alt="Luigia Petti" />
4500        </div>
4501        <div class="cg-res-card-info">
4502          <h3>Luigia Petti</h3>
4503          <p>Luigia Petti è Professore Ordinario di Scienze Merceologiche (SECS-P/13) presso il Dipartimento di Economia dell'Università "G. d'Annunzio" di Chieti-Pescara, dove ricopre tale ruolo da febbraio 2019. Da oltre tre decenni svolge attività di ricerca e didattica accademica. I suoi interessi di ricerca riguardano i sistemi di gestione qualità e ambiente, il Life Cycle Sustainability Assessment, con particolare attenzione alla Social Life Cycle Assessment. La sua ricerca è di natura prevalentemente interdisciplinare e coinvolge stakeholder (principalmente imprese); ha partecipato a numerosi progetti di ricerca con collaborazioni multi- e interdisciplinari, sia a livello nazionale sia internazionale.</p>
4504        </div>
4505      </div>
4506      <div class="cg-res-card">
4507        <div class="cg-res-card-img-wrap">
4508          <img class="cg-res-card-img" src="/images/team-raggi.jpg" alt="Andrea Raggi" />
4509        </div>
4510        <div class="cg-res-card-info">
4511          <h3>Andrea Raggi</h3>
4512          <div class="cg-res-card-role">Principal Investigator</div>
4513          <p>Andrea Raggi è Professore Ordinario di Ecologia Industriale e materie affini presso il Dipartimento di Economia dell'Università "G. d'Annunzio" di Pescara. Da oltre 35 anni svolge attività di ricerca e didattica. I suoi interessi di ricerca riguardano i sistemi di gestione ambientale, il Life Cycle Sustainability Assessment, l'ecologia industriale e l'economia circolare. La sua attività di ricerca è di natura prevalentemente interdisciplinare e prevede il coinvolgimento di stakeholder (principalmente imprese); ha partecipato a numerosi progetti di ricerca con collaborazioni multi- e interdisciplinari, sia a livello nazionale sia internazionale. È autore o coautore di oltre 270 pubblicazioni scientifiche.</p>
4514        </div>
4515      </div>
4516      <div class="cg-res-card">
4517        <div class="cg-res-card-img-wrap">
4518          <img class="cg-res-card-img" src="/images/team-simboli.png" alt="Alberto Simboli" />
4519        </div>
4520        <div class="cg-res-card-info">
4521          <h3>Alberto Simboli</h3>
4522          <p>Alberto Simboli è Professore Associato di Scienze Merceologiche presso il Dipartimento di Economia dell'Università "G. d'Annunzio" di Pescara. Ha conseguito il dottorato di ricerca in Scienze con una tesi su "Valore e sprechi nei sistemi produttivi: applicazione dei principi lean al settore dei servizi". I suoi interessi di ricerca riguardano i sistemi produttivi, con particolare attenzione agli aspetti tecnologici, organizzativi/gestionali e ambientali. È attualmente coinvolto in attività e progetti di ricerca nazionali e internazionali ed è autore di oltre 80 pubblicazioni scientifiche. Insegna a Pescara: Production Systems Innovation and Logistics, Closed Loop Production Systems.</p>
4523        </div>
4524      </div>
4525      <div class="cg-res-card">
4526        <div class="cg-res-card-img-wrap">
4527          <img class="cg-res-card-img" src="/images/team-tragnone.jpg" alt="Bianca Maria Tragnone" />
4528        </div>
4529        <div class="cg-res-card-info">
4530          <h3>Bianca Maria Tragnone</h3>
4531          <p>Bianca Maria Tragnone è titolare di un contratto di ricerca presso il Dipartimento di Economia dell'Università "G. d'Annunzio". Ha conseguito il dottorato di ricerca in "Business, Institutions, Markets" con una tesi sul ruolo della Social Life Cycle Assessment come strumento di supporto a una gestione socialmente sostenibile delle filiere produttive. La sua ricerca riguarda il Life Cycle Sustainability Assessment, con particolare attenzione alla Social Life Cycle Assessment e alla Social Organisational Life Cycle Assessment, nonché l'economia circolare anche in termini di sviluppo metodologico.</p>
4532        </div>
4533      </div>
4534    </div>
4535
4536    <!-- UNIT 2: UNIME -->
4537    <div class="cg-res-unit-title">
4538      <img src="/images/logo-unime-color.png" alt="UNIME" />
4539      Università degli Studi di Messina
4540    </div>
4541    <div class="cg-res-unit-subtitle">Responsabile di Unità: Prof.ssa Roberta Salomone</div>
4542    <div class="cg-res-divider"></div>
4543    <div class="cg-res-unit-desc">L'unità di Messina collaborerà con le altre unità di ricerca nelle Fasi 1 (stato dell'arte e revisione della letteratura), 2 (sviluppo metodologico) e 4 (disseminazione e comunicazione), grazie alla riconosciuta competenza internazionale del team su LCA, sostenibilità e valutazione dell'economia circolare. In particolare, il gruppo di Messina vanta esperienza in progetti di ricerca multi- e interdisciplinari, sia a livello nazionale che internazionale, con applicazioni di strumenti e metodi LCT al sistema agroalimentare (è stato Principal Investigator del progetto EMAF PRIN 2008 ed è coinvolto nel progetto ILCIDAF PRIN 2017) e in altri settori (progetto CRESTING sulle metriche di sostenibilità per sistemi circolari, progetto PON THALASSA, progetto PO FESR Sicilia ELETTRORIGENERA), evidenziando spesso le criticità legate all'integrazione tra valutazioni di sostenibilità e circolarità.<br/><br/>In piena continuità con il progetto PRIN 2017 ILCIDAF, l'unità di Messina si concentrerà specificamente sulla filiera dell'olio d'oliva. I membri del gruppo vantano una lunga esperienza nell'applicazione del Life Cycle Assessment e di altri metodi e strumenti LCT nel settore oleario, sia dal punto di vista metodologico che operativo. Nella Fase 3 (ricerca applicativa) verranno condotte valutazioni di sostenibilità e circolarità nella filiera dell'olio d'oliva: i metodi e gli indicatori di valutazione della circolarità individuati saranno applicati ai sistemi circolari selezionati e confrontati con quelli lineari tradizionali, al fine di verificarne le prestazioni di sostenibilità lungo il ciclo di vita.</div>
4544    <div class="cg-res-grid">
4545      <div class="cg-res-card">
4546        <div class="cg-res-card-img-wrap">
4547          <img class="cg-res-card-img" src="/images/researchers/gulotta.jpg" alt="Teresa Maria Gulotta" />
4548        </div>
4549        <div class="cg-res-card-info">
4550          <h3>Teresa Maria Gulotta</h3>
4551          <p>Teresa Maria Gulotta ha conseguito il dottorato in Tecnologie Energetiche e dell'Informazione presso l'Università di Palermo. È attualmente Ricercatrice a tempo determinato (tipo B) di Scienze Merceologiche (s.s.d. ECON-10/A) presso il Dipartimento di Economia dell'Università di Messina. La sua attività di ricerca si concentra su sostenibilità, economia circolare, efficienza energetica e relative metodologie di valutazione, con particolare attenzione agli approcci di Life Cycle Thinking.</p>
4552        </div>
4553      </div>
4554      <div class="cg-res-card">
4555        <div class="cg-res-card-img-wrap">
4556          <img class="cg-res-card-img" src="/images/researchers/lanuzza.jpg" alt="Francesco Lanuzza" />
4557        </div>
4558        <div class="cg-res-card-info">
4559          <h3>Francesco Lanuzza</h3>
4560          <p>Francesco Lanuzza è Professore Ordinario presso il Dipartimento di Economia dell'Università di Messina (s.s.d. ECON-10/A – Scienze Merceologiche). La sua ricerca si concentra sulla caratterizzazione e valutazione qualitativa dei prodotti agroalimentari mediante metodologie strumentali avanzate, che consentono l'identificazione di composti bioattivi, contaminanti e indicatori di qualità. Altre attività di ricerca riguardano la valorizzazione delle risorse naturali e dei sottoprodotti agroindustriali in un'ottica di sostenibilità ed economia circolare.</p>
4561        </div>
4562      </div>
4563      <div class="cg-res-card">
4564        <div class="cg-res-card-img-wrap">
4565          <img class="cg-res-card-img" src="/images/researchers/mondello.jpg" alt="Giovanni Mondello" />
4566        </div>
4567        <div class="cg-res-card-info">
4568          <h3>Giovanni Mondello</h3>
4569          <p>Giovanni Mondello ha conseguito il dottorato (Doctoratus Europaeus) in Markets, Business and Consumers – curriculum Quality, Innovation and Sustainability presso l'Università di Roma Tre. È Ricercatore a tempo determinato (tipo B), s.s.d. ECON-10/A (Scienze Merceologiche), presso il Dipartimento di Economia dell'Università di Messina. I principali ambiti di ricerca riguardano: sostenibilità ambientale, LCA e relativi metodi di valutazione, economia circolare, ec
4569ologia industriale e simbiosi industriale.</p>
4570        </div>
4571      </div>
4572      <div class="cg-res-card">
4573        <div class="cg-res-card-img-wrap">
4574          <img class="cg-res-card-img" src="/images/researchers/saija.jpg" alt="Giuseppe Saija" />
4575        </div>
4576        <div class="cg-res-card-info">
4577          <h3>Giuseppe Saija</h3>
4578          <p>Giuseppe Saija è Professore Ordinario, s.s.d. ECON-10/A (Scienze Merceologiche), presso il Dipartimento di Economia dell'Università di Messina. I principali ambiti di ricerca sono: strumenti e gestione della qualità e dell'ambiente; sistemi di gestione integrati (qualità, ambiente, sicurezza, etica, ecc.), con particolare riferimento al settore agroalimentare; certificazione di sistema e di prodotto; caratterizzazione e qualità degli alimenti.</p>
4579        </div>
4580      </div>
4581      <div class="cg-res-card">
4582        <div class="cg-res-card-img-wrap">
4583          <img class="cg-res-card-img" src="/images/researchers/salomone.jpg" alt="Roberta Salomone" />
4584        </div>
4585        <div class="cg-res-card-info">
4586          <h3>Roberta Salomone</h3>
4587           <div class="cg-res-card-role">Responsabile di Unità</div>
4588          <p>Roberta Salomone ha conseguito il dottorato in Tecnologie ed Economia dei Processi e dei Prodotti per la Salvaguardia dell'Ambiente presso l'Università di Catania. È Professore Ordinario di Scienze Merceologiche e Delegata del Rettore alla Sostenibilità presso l'Università di Messina. È Vicepresidente dell'Associazione Rete Italiana LCA. Partecipa e ha partecipato a diversi gruppi di ricerca, anche come coordinatrice nazionale. I suoi principali temi di ricerca sono sostenibilità, economia circolare, simbiosi industriale e metodi di Life Cycle Thinking.</p>
4589        </div>
4590      </div>
4591      <div class="cg-res-card">
4592        <div class="cg-res-card-img-wrap">
4593          <img class="cg-res-card-img" src="/images/researchers/scandurra.jpg" alt="Federica Scandurra" />
4594        </div>
4595        <div class="cg-res-card-info">
4596          <h3>Federica Scandurra</h3>
4597          <p>In precedenza Research Fellow del progetto CIRCULAGRIS, attualmente è Teaching Fellow in Economics of Climate Change presso la School of Economics dell'University College Dublin (UCD). Ha conseguito il dottorato in Economia, Management e Statistica presso l'Università di Messina. I suoi principali interessi di ricerca riguardano l'adozione e la valutazione dell'economia circolare e della sostenibilità, con particolare attenzione al settore agroalimentare e all'engagement sociale.</p>
4598        </div>
4599      </div>
4600    </div>
4601
4602    <!-- UNIT 3: UNIBA -->
4603    <div class="cg-res-unit-title">
4604      <img src="/images/logo-uniba-color.png" alt="UNIBA" />
4605      Università degli Studi di Bari Aldo Moro
4606    </div>
4607    <div class="cg-res-unit-subtitle">Responsabile di Unità: Prof. Bruno Notarnicola</div>
4608    <div class="cg-res-divider"></div>
4609    <div class="cg-res-unit-desc">L'unità di Bari collaborerà con le altre unità di ricerca nelle attività congiunte previste nelle Fasi 1, 2 e 4 del progetto. L'unità farà leva sulla propria esperienza nell'applicazione del paradigma "Life Cycle" ai sistemi di prodotto, inclusi quelli agroalimentari (è Principal Investigator del progetto ILCIDAF — PRIN 2017).<br/><br/>L'unità si concentrerà specificamente sulla filiera della pasta e del pane. I membri del gruppo conducono da diversi decenni attività di ricerca sull'applicazione dei metodi del Life Cycle Thinking ai sistemi agroalimentari, sia dal punto di vista metodologico sia operativo; tale esperienza sarà utilizzata per mappare le valutazioni di sostenibilità e circolarità nelle filiere della pasta e del pane. Una volta identificati i metodi e gli indicatori di valutazione della circolarità, questi saranno adattati ai sistemi circolari selezionati e confrontati con i sistemi lineari tradizionali, al fine di analizzarne le prestazioni di sostenibilità e verificare l'eventuale superiorità delle pratiche circolari. In particolare, l'unità di Bari si concentrerà sulle metodologie basate sul Life Cycle Assessment (LCA) per la valutazione quantitativa e integrata, come l'Environmental Life Cycle Costing (LCC) applicato alla filiera del pane e della pasta. L'integrazione tra LCA e LCC, unitamente all'inclusione nell'analisi di ulteriori costi sociali esterni (Societal Life Cycle Costing), consentirà la definizione di indicatori economici, ambientali e sociali. Si tratta di un risultato significativo per i sistemi agroalimentari, nei quali tali dimensioni sono spesso valutate separatamente e non in modo integrato.</div>
4610    <div class="cg-res-grid">
4611      <div class="cg-res-card">
4612        <div class="cg-res-card-img-wrap">
4613          <img class="cg-res-card-img" src="/images/team-dicapua-2.png" alt="Rosa Di Capua" />
4614        </div>
4615        <div class="cg-res-card-info">
4616          <h3>Rosa Di Capua</h3>
4617          <p>Professore Associato di Scienze Merceologiche presso il Dipartimento Jonico dell'Università di Bari Aldo Moro. Dottorato in Economia e Management. Le sue principali linee di ricerca riguardano l'applicazione dell'ecologia industriale e dei suoi strumenti a supp
4617orto dell'efficienza delle risorse e dell'economia circolare, in particolare la simbiosi industriale in diversi contesti territoriali e il Life Cycle Assessment (LCA) applicato a vari sistemi di prodotto/servizio. Autrice di numerosi contributi in riviste internazionali e atti di convegno.</p>
4618        </div>
4619      </div>
4620      <div class="cg-res-card">
4621        <div class="cg-res-card-img-wrap">
4622          <img class="cg-res-card-img" src="/images/team-esposito-2.png" alt="Benedetta Esposito" />
4623        </div>
4624        <div class="cg-res-card-info">
4625          <h3>Benedetta Esposito</h3>
4626          <p>Ricercatrice a Tempo Determinato (RTT) in Scienze Merceologiche presso l'Università San Raffaele Roma. In precedenza assegnista di ricerca presso il Dipartimento Jonico dell'Università di Bari Aldo Moro. Dottorato in Big Data Management (Università di Salerno, 2024). Visiting researcher presso l'Universidad de Cádiz (2026) e la Cardiff Business School (2023). Associate Editor della rivista Business Strategy &amp; Development. Membro di AISME, AIDEA, IAQUIS, Rete Italiana LCA e ISIE.</p>
4627        </div>
4628      </div>
4629      <div class="cg-res-card">
4630        <div class="cg-res-card-img-wrap">
4631          <img class="cg-res-card-img" src="/images/team-notarnicola-2.jpg" alt="Bruno Notarnicola" />
4632        </div>
4633        <div class="cg-res-card-info">
4634          <h3>Bruno Notarnicola</h3>
4635           <div class="cg-res-card-role">Responsabile di Unità</div>
4636          <p>Professore Ordinario di Scienze Merceologiche presso l'Università di Bari Aldo Moro, già Direttore del Dipartimento Jonico e Preside della Seconda Facoltà di Economia. Autore di oltre 250 pubblicazioni scientifiche. La sua ricerca si concentra sul Life Cycle Assessment (LCA) applicato al settore agroalimentare, sulla simbiosi industriale e sul monitoraggio ambientale. Consulente scientifico del Ministro italiano per la Transizione Ecologica sui temi LCA. Presidente di Symbiotica srl e Direttore Scientifico del Laboratorio Talsef dell'Università di Bari.</p>
4637        </div>
4638      </div>
4639      <div class="cg-res-card">
4640        <div class="cg-res-card-img-wrap">
4641          <img class="cg-res-card-img" src="/images/team-renzulli-2.png" alt="Pietro Alexander Renzulli" />
4642        </div>
4643        <div class="cg-res-card-info">
4644          <h3>Pietro Alexander Renzulli</h3>
4645          <p>Ingegnere e Professore Ordinario di Scienze Merceologiche presso il Dipartimento Jonico dell'Università di Bari Aldo Moro. MSc in Ingegneria Meccanica presso l'Imperial College di Londra, dottorato presso il Politecnico di Bari. Riconosciuto come esperto LCA dal Joint Research Centre dell'Unione Europea. Coordinatore del Young Researchers Award della Rete Italiana LCA. Autore di oltre 100 pubblicazioni scientifiche.</p>
4646        </div>
4647      </div>
4648      <div class="cg-res-card">
4649        <div class="cg-res-card-img-wrap">
4650          <img class="cg-res-card-img" src="/images/team-spizzirri.png" alt="Umile Gianfranco Spizzirri" />
4651        </div>
4652        <div class="cg-res-card-info">
4653          <h3>Umile Gianfranco Spizzirri</h3>
4654          <p>Chimico Senior e Ricercatore a tempo determinato (RTDB) in Scienze Merceologiche presso l'Università di Bari Aldo Moro. Oltre vent'anni di esperienza in Chimica Analitica, Chimica dei Polimeri e tecnologie sostenibili. Dottorato in "Metodologie per lo Sviluppo di Molecole di Interesse Farmacologico". Visiting Scientist presso la University of Texas at Austin. Co-fondatore dello spin-off Symbiotica Srl. H-index 43 (Scopus), quasi 300 pubblicazioni scientifiche.</p>
4655        </div>
4656      </div>
4657    </div>
4658
4659  </div>
4660
4661  <!-- FOOTER -->
4662  <footer class="cg-res-footer">
4663    <div class="cg-res-footer-logos">
4664      <img src="/images/logo-circulagris.png" alt="CIRCULAGRIS" style="height: 50px; filter: brightness(0) invert(1);" />
4665    </div>
4666    <div class="cg-res-footer-logos" style="margin-top: 16px;">
4667      <img src="/images/footer-eu-white.png" alt="Finanziato dall'Unione europea - NextGenerationEU" style="height:56px;" />
4668      <img src="/images/footer-mur-white.png" alt="Ministero dell'Università e della Ricerca" style="height:42px;" />
4669      <img src="/images/footer-italiadomani-white.png" alt="Italia Domani - PNRR" style="height:72px;" />
4670      <img src="/images/logo-uda.png" alt="UdA" style="height:80px;" />
4671      <img src="/images/logo-unime-white.png" alt="UNIME" style="height:76px;" />
4672      <img src="/images/logo-uniba.png" alt="UNIBA" style="height:80px;" />
4673    </div>
4674    <p style="margin-top: 20px;">&copy; 2024 CIRCULAGRIS &mdash; PRIN 2022 | <a href="https://www.unich.it" target="_blank" style="color:rgba(255,255,255,0.7);text-decoration:none;">Universit&agrave; degli Studi "G. d'Annunzio" Chieti-Pescara</a></p>
4675    <div style="max-width:800px;margin:16px auto 0;font-size:0.72rem;color:rgba(255,255,255,0.35);line-height:1.6;">
4676      Progetto di ricerca "Towards circular and sustainable agri-food systems: metrics for assessment (CIRCULAGRIS)" PRIN2022 (Progetti di Ricerca di Interesse Nazionale) finanziato dall'Unione Europea - Next Generation EU, Missione 4, Componente 2, CUP D53D23011220006.
4677    </div>
4678    <div style="margin-top: 16px; font-size: 0.72rem; color: rgba(255,255,255,0.5);">
4679      <a href="https://www.sitiwebshop.it/?utm_source=sito-cliente&utm_medium=circulagris-universita-ch" target="_blank" rel="noopener noreferrer" style="color: rgba(255,255,255,0.8); text-decoration: underline;">Powered by Webshop Human AI Automation</a>
4680    </div>
4681  </footer>
4682
4683</div>
4684`}})),A2=()=>(x.useEffect(()=>{let e=0;const t=document.querySelectorAll(".cg-conv-slide"),i=t.length;if(!i)return;function n(a){t.forEach((l,c)=>{l.style.opacity=c===a?"1":"0",l.style.transform=c===a?"scale(1)":"scale(1.05)"}),document.querySelectorAll(".cg-conv-slider-dot").forEach((l,c)=>l.classList.toggle("active",c===a)),e=a}n(0);const r=setInterval(()=>{n((e+1)%i)},4e3);window.cgConvSliderPrev=()=>n((e-1+i)%i),window.cgConvSliderNext=()=>n((e+1)%i),window.cgConvSliderGoTo=a=>n(a);function o(){const a=document.querySelector(".cg-conv-inst-bar"),s=document.querySelector(".cg-conv-nav");a&&s&&(s.style.top=a.offsetHeight+"px")}return requestAnimationFrame(o),setTimeout(o,100),setTimeout(o,500),window.addEventListener("resize",o),window.addEventListener("load",o),()=>{clearInterval(r),window.removeEventListener("resize",o),window.removeEventListener("load",o)}},[]),I.jsx("div",{dangerouslySetInnerHTML:{__html:`
4685<style>
4686.cg-conv-root *, .cg-conv-root *::before, .cg-conv-root *::after { margin: 0; padding: 0; box-sizing: border-box; }
4687.cg-conv-root {
4688  font-family: Calibri, 'Segoe UI', sans-serif;
4689  color: #3a3a4a; line-height: 1.6; background: #FAF8F2;
4690  min-height: 100vh;
4691}
4692.cg-conv-root img { max-width: 100%; }
4693
4694/* ─── INSTITUTIONAL BAR ─── */
4695.cg-conv-inst-bar {
4696  position: fixed; top: 0; left: 0; right: 0; z-index: 101;
4697  background: #2A65AF;
4698  display: flex; align-items: center; justify-content: center;
4699  gap: 28px; padding: 14px 40px;
4700  border-bottom: 1px solid rgba(0,0,0,0.08);
4701  flex-wrap: wrap;
4702}
4703.cg-conv-inst-bar img { height: 64px; object-fit: contain; flex-shrink: 0; }
4704.cg-conv-inst-bar .cg-conv-divider {
4705  width: 1px; height: 48px; background: rgba(255,255,255,0.3); flex-shrink: 0;
4706}
4707
4708/* ─── NAV ─── */
4709.cg-conv-nav {
4710  position: fixed; top: 92px; left: 0; right: 0; z-index: 100;
4711  background: rgba(255,255,255,0.92);
4712  backdrop-filter: blur(16px);
4713  padding: 18px 60px;
4714  display: flex; align-items: center; justify-content: space-between;
4715  border-bottom: 1px solid rgba(0,0,0,0.06);
4716  box-shadow: 0 2px 20px rgba(0,0,0,0.04);
4717}
4718.cg-conv-nav-logo { display: flex; align-items: center; }
4719.cg-conv-nav-logo img { height: 56px; object-fit: contain; margin-right: 16px; }
4720.cg-conv-nav-links { display: flex; gap: 32px; list-style: none; }
4721.cg-conv-nav-links a {
4722  color: #555; text-decoration: none; font-size: 0.82rem;
4723  font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase;
4724  transition: color 0.3s; position: relative; cursor: pointer;
4725}
4726.cg-conv-nav-links a:hover { color: #8B7535; }
4727.cg-conv-nav-links a::after {
4728  content:''; position: absolute; bottom: -6px; left: 0; width: 0; height: 2px;
4729  background: #8B7535; transition: width 0.3s;
4730}
4731.cg-conv-nav-links a:hover::after { width: 100%; }
4732.cg-conv-nav-links a.active { color: #8B7535; }
4733.cg-conv-nav-links a.active::after { width: 100%; }
4734
4735/* ─── BURGER ─── */
4736.cg-conv-burger {
4737  display: none; flex-direction: column; gap: 5px; cursor: pointer;
4738  padding: 8px; z-index: 200;
4739}
4740.cg-conv-burger span {
4741  display: block; width: 24px; height: 2px; background: #3a3a4a;
4742  transition: all 0.3s; border-radius: 2px;
4743}
4744.cg-conv-mobile-menu {
4745  display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0;
4746  background: #FAF8F2; z-index: 190;
4747  flex-direction: column; align-items: center; justify-content: center;
4748  gap: 24px; list-style: none; overflow: hidden;
4749}
4750.cg-conv-mobile-menu.open { display: flex; }
4751.cg-conv-mobile-menu a {
4752  color: #3a3a4a; text-decoration: none; font-size: 1.1rem;
4753  font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
4754  font-family: Calibri, 'Segoe UI', sans-serif; cursor: pointer;
4755  transition: color 0.3s;
4756}
4757.cg-conv-mobile-menu a:hover { color: #8B7535; }
4758.cg-conv-mobile-close {
4759  position: absolute; top: 20px; right: 20px;
4760  width: 40px; height: 40px; cursor: pointer;
4761  display: flex; align-items: center; justify-content: center;
4762  background: none; border: none; z-index: 200;
4763}
4764.cg-conv-mobile-close::before, .cg-conv-mobile-close::after {
4765  content: ''; position: absolute;
4766  width: 24px; height: 2px; background: #3a3a4a; border-radius: 2px;
4767}
4768.cg-conv-mobile-close::before { transform: rotate(45deg); }
4769.cg-conv-mobile-close::after { transform: rotate(-45deg); }
4770
4771/* ─── HEADER ─── */
4772.cg-conv-header {
4773  background: #2A65AF;
4774  padding: 200px 60px 60px; text-align: center;
4775}
4776.cg-conv-header h1 {
4777  font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 800;
4778  color: #fff; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 12px;
4779}
4780.cg-conv-header p {
4781  font-size: 1rem; color: rgba(255,255,255,0.7); max-width: 650px; margin: 0 auto;
4782}
4783
4784/* ─── SLIDESHOW ─── */
4785.cg-conv-slideshow-section {
4786  max-width: 1100px; margin: 0 auto; padding: 40px 40px 60px;
4787}
4788.cg-conv-slideshow-title {
4789  font-size: 1.4rem; font-weight: 800; color: #1a1a2e;
4790  text-transform: uppercase; letter-spacing: 1px; margin-bottom: 8px;
4791}
4792.cg-conv-slideshow-sub {
4793  font-size: 0.95rem; color: #777; margin-bottom: 24px;
4794}
4795.cg-conv-slider-wrap {
4796  position: relative; width: 100%; max-width: 600px; margin: 0 auto;
4797  aspect-ratio: 16/10; border-radius: 16px; overflow: hidden;
4798  background: #eee;
4799}
4800.cg-conv-slide.cg-fit-contain { object-fit: contain; background: #f4f1e8; }
4801.cg-conv-slide {
4802  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
4803  object-fit: cover; opacity: 0;
4804  transition: opacity 0.8s ease, transform 0.8s ease;
4805}
4806.cg-conv-slider-arrow {
4807  position: absolute; top: 50%; transform: translateY(-50%);
4808  width: 44px; height: 44px; border-radius: 50%;
4809  background: rgba(255,255,255,0.85); border: none;
4810  cursor: pointer; font-size: 1.2rem; color: #1a1a2e;
4811  display: flex; align-items: center; justify-content: center;
4812  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
4813  transition: background 0.3s; z-index: 5;
4814}
4815.cg-conv-slider-arrow:hover { background: #fff; }
4816.cg-conv-slider-arrow.left { left: 16px; }
4817.cg-conv-slider-arrow.right { right: 16px; }
4818.cg-conv-slider-dots {
4819  display: flex; justify-content: center; gap: 8px; margin-top: 16px;
4820}
4821.cg-conv-slider-dot {
4822  width: 10px; height: 10px; border-radius: 50%;
4823  background: rgba(139,117,53,0.25); border: none; cursor: pointer;
4824  transition: background 0.3s, transform 0.3s;
4825}
4826.cg-conv-slider-dot.active {
4827  background: #8B7535; transform: scale(1.3);
4828}
4829
4830/* ─── CONTENT ─── */
4831.cg-conv-section {
4832  max-width: 1100px; margin: 0 auto; padding: 40px 40px 60px;
4833}
4834
4835/* ─── UNI BLOCK ─── */
4836.cg-conv-uni-block { margin-bottom: 64px; }
4837.cg-conv-uni-header {
4838  display: flex; align-items: center; gap: 16px;
4839  margin-bottom: 8px;
4840}
4841.cg-conv-uni-header img { height: 50px; border-radius: 50%; }
4842.cg-conv-uni-header h2 {
4843  font-size: 1.3rem; font-weight: 800; color: #1a1a2e;
4844  text-transform: uppercase; letter-spacing: 1px;
4845}
4846.cg-conv-uni-subtitle {
4847  font-size: 0.82rem; color: #8B7535; font-weight: 600;
4848  letter-spacing: 1px; margin-bottom: 24px;
4849}
4850.cg-conv-uni-divider {
4851  width: 60px; height: 3px; background: linear-gradient(90deg, #8B7535, #8E4585);
4852  margin-bottom: 28px; border-radius: 2px;
4853}
4854
4855/* ─── CONF ITEMS ─── */
4856.cg-conv-item {
4857  padding: 24px 0;
4858  border-bottom: 1px solid rgba(139,117,53,0.12);
4859}
4860.cg-conv-item:last-child { border-bottom: none; }
4861.cg-conv-event {
4862  font-size: 1.05rem; font-weight: 700; color: #1a1a2e;
4863  margin-bottom: 4px; line-height: 1.4;
4864}
4865.cg-conv-details {
4866  font-size: 0.82rem; color: #8B7535; font-weight: 600;
4867  margin-bottom: 8px;
4868}
4869.cg-conv-type {
4870  display: inline-block;
4871  font-size: 0.7rem; font-weight: 700; text-transform: uppercase;
4872  padding: 3px 10px; border-radius: 20px; letter-spacing: 0.5px;
4873  margin-bottom: 8px;
4874}
4875.cg-conv-type-oral { background: rgba(142,69,133,0.12); color: #8E4585; }
4876.cg-conv-type-poster { background: rgba(139,117,53,0.12); color: #8B7535; }
4877.cg-conv-authors {
4878  font-size: 0.82rem; color: #777; line-height: 1.5;
4879}
4880.cg-conv-title-text {
4881  font-style: italic; color: #555; font-size: 0.88rem;
4882  margin-top: 4px;
4883}
4884
4885/* ─── FOOTER ─── */
4886.cg-conv-footer {
4887  background: #2A65AF; padding: 40px 60px; text-align: center;
4888  color: rgba(255,255,255,0.5); font-size: 0.78rem; line-height: 1.8;
4889}
4890.cg-conv-footer-logos {
4891  display: flex; justify-content: center; gap: 24px; flex-wrap: wrap;
4892  align-items: center;
4893}
4894.cg-conv-footer-logos img { height: 44px; }
4895.cg-conv-footer a { color: rgba(255,255,255,0.7); text-decoration: none; }
4896.cg-conv-footer-funding {
4897  max-width: 800px; margin: 16px auto 0; font-size: 0.72rem;
4898  color: rgba(255,255,255,0.35); line-height: 1.6;
4899}
4900
4901@media (max-width: 900px) {
4902  .cg-conv-hide-mobile { display: none !important; }
4903  .cg-conv-nav-links { display: none; }
4904  .cg-conv-burger { display: flex; }
4905  .cg-conv-inst-bar { padding: 10px 20px; gap: 14px; flex-wrap: wrap; }
4906  .cg-conv-inst-bar img { height: 44px; }
4907  .cg-conv-inst-bar .cg-conv-divider { height: 32px; }
4908}
4909@media (max-width: 640px) {
4910  .cg-conv-header { padding: 220px 10px 40px; }
4911  .cg-conv-section, .cg-conv-slideshow-section { padding: 30px 10px; text-align: center; }
4912  .cg-conv-inst-bar { padding: 8px 6px; gap: 8px; justify-content: space-between; flex-wrap: nowrap; }
4913  .cg-conv-inst-bar img { height: 32px !important; flex-shrink: 1; min-width: 0; object-fit: contain; }
4914  .cg-conv-inst-bar .cg-logo-italiadomani { height: 58px !important; }
4915  .cg-conv-inst-bar .cg-conv-divider { display: flex; height: 28px; background: rgba(255,255,255,0.3); width: 1px; flex-shrink: 0; }
4916  .cg-conv-nav { top: auto; padding: 12px 10px; }
4917  .cg-conv-event { font-size: 0.92rem; text-align: center; }
4918  .cg-conv-item { padding: 16px 0; text-align: center; }
4919  .cg-conv-uni-header { justify-content: center; text-align: center; }
4920  .cg-conv-uni-subtitle { text-align: center; }
4921  .cg-conv-uni-divider { margin-left: auto; margin-right: auto; }
4922  .cg-conv-slideshow-title { text-align: center; }
4923  .cg-conv-slideshow-sub { text-align: center; }
4924  .cg-conv-footer { padding: 30px 10px; }
4925  .cg-conv-footer-logos { gap: 12px; }
4926  .cg-conv-footer-logos img { height: 32px; }
4927}
4928</style>
4929
4930<div class="cg-conv-root">
4931
4932  <!-- INSTITUTIONAL BAR -->
4933  <div class="cg-conv-inst-bar">
4934    <img src="/images/footer-eu-white.png" alt="Finanziato dall'Unione europea - NextGenerationEU" style="height:56px;" />
4935    <div class="cg-conv-divider"></div>
4936    <img src="/images/footer-mur-white.png" alt="MUR" style="height:42px;" />
4937    <div class="cg-conv-divider"></div>
4938    <img src="/images/footer-italiadomani-white.png" alt="Italia Domani" style="height:72px;" class="cg-logo-italiadomani" />
4939    <div class="cg-conv-divider cg-conv-hide-mobile"></div>
4940    <img src="/images/logo-uda.png" alt="UdA" style="height:80px;" class="cg-conv-hide-mobile" />
4941    <img src="/images/logo-unime-white.png" alt="UNIME" style="height:76px;" class="cg-conv-hide-mobile" />
4942    <img src="/images/logo-uniba.png" alt="UNIBA" style="height:80px;" class="cg-conv-hide-mobile" />
4943  </div>
4944
4945  <!-- NAV -->
4946  <nav class="cg-conv-nav">
4947    <a class="cg-conv-nav-logo" href="https://www.circulagris.com/home-ita/" target="_top"><img src="/images/logo-circulagris.png" alt="CIRCULAGRIS" /></a>
4948    <ul class="cg-conv-nav-links">
4949      <li><a href="https://www.circulagris.com/home-ita/" target="_top">Home</a></li>
4950      <li><a href="https://www.circulagris.com/ricercatori/" target="_top">Ricercatori</a></li>
4951      <li><a href="https://www.circulagris.com/conferenze/" target="_top" class="active">Convegni</a></li>
4952      <li><a href="https://www.circulagris.com/workshops-ita/" target="_top">Workshop</a></li>
4953      <li><a href="https://www.circulagris.com/pubblicazioni/" target="_top">Pubblicazioni</a></li>
4954    <li class="cg-lang-switch"><a href="https://www.circulagris.com/conferences/" target="_top" style="background:#8B7535;color:#fff !important;padding:6px 14px;border-radius:20px;font-weight:700;cursor:pointer;">EN</a></li>
4955    </ul>
4956    <div class="cg-conv-burger" onclick="(function(){var m=document.getElementById('cgConvMobileMenu');m.classList.toggle('open')})()">
4957      <span></span><span></span><span></span>
4958    </div>
4959  </nav>
4960
4961  <!-- MOBILE MENU -->
4962  <ul class="cg-conv-mobile-menu" id="cgConvMobileMenu">
4963    <button class="cg-conv-mobile-close" onclick="document.getElementById('cgConvMobileMenu').classList.remove('open')" aria-label="Chiudi"></button>
4964    <li><a href="https://www.circulagris.com/home-ita/" target="_top">Home</a></li>
4965    <li><a href="https://www.circulagris.com/ricercatori/" target="_top">Ricercatori</a></li>
4966    <li><a href="https://www.circulagris.com/conferenze/" target="_top">Convegni</a></li>
4967    <li><a href="https://www.circulagris.com/workshops-ita/" target="_top">Workshop</a></li>
4968    <li><a href="https://www.circulagris.com/pubblicazioni/" target="_top">Pubblicazioni</a></li>
4969    <li class="cg-lang-switch"><a href="https://www.circulagris.com/conferences/" target="_top" style="background:#8B7535;color:#fff !important;padding:6px 14px;border-radius:20px;font-weight:700;cursor:pointer;">EN</a></li>
4970  </ul>
4971
4972  <!-- HEADER -->
4973   <div class="cg-conv-header">
4974     <h1>Convegni</h1>
4975     <p>Contributi scientifici a convegni nazionali e internazionali.</p>
4976   </div>
4977
4978
4979   <!-- CONFERENCES LIST -->
4980   <div class="cg-conv-section">
4981
4982     <div class="cg-conv-item">
4983       <div class="cg-conv-event">30th Annual Conference of the International Sustainable Development Research Society (ISDRS)</div>
4984       <div class="cg-conv-details">10–14 giugno 2024 · Kathmandu, Nepal</div>
4985       <span class="cg-conv-type cg-conv-type-oral">Presentazione orale</span>
4986       <div class="cg-conv-authors">Raggi A., Arzoumanidis I., Petti L., Simboli A., Di Capua R., Renzulli P.A., Spizzirri G.U., Notarnicola B., Lanuzza F., Mondello G., Saija G., Salomone R.</div>
4987       <div class="cg-conv-title-text">"The CIRCULAGRIS project for developing metrics for circularity and sustainability in Italian agri-food systems"</div>
4988     </div>
4989
4990     <div class="cg-conv-item">
4991       <div class="cg-conv-event">30th Annual Conference of the International Sustainable Development Research Society (ISDRS)</div>
4992       <div class="cg-conv-details">10–14 giugno 2024 · Kathmandu, Nepal</div>
4993       <span class="cg-conv-type cg-conv-type-poster">Presentazione poster</span>
4994       <div class="cg-conv-authors">Salomone R., Scandurra F., Mondello G., Saija G., Lanuzza F.</div>
4995       <div class="cg-conv-title-text">"Circularity and sustainability indicators for the agrifood sector: the case of olive oil supply chain"</div>
4996     </div>
4997
4998     <div class="cg-conv-item">
4999       <div class="cg-conv-event">14th International Conference LCA Food 2024</div>
5000       <div class="cg-conv-details">8–12 settembre 2024 · Barcellona, Spagna</div>
5001       <span class="cg-conv-type cg-conv-type-poster">Presentazione poster</span>
5002       <div class="cg-conv-authors">Raggi A., Arzoumanidis I., Petti L., Simboli A., Di Capua R., Renzulli P.A., Notarnicola B., Lanuzza F., Mondello G., Salomone R.</div>
5003       <div class="cg-conv-title-text">"Circularity and sustainability metrics for Italian agri-food systems: the CIRCULAGRIS project"</div>
5004     </div>
5005
5006     <div class="cg-conv-item">
5007       <div class="cg-conv-event">XVIII Convegno dell'Associazione Rete Italiana LCA 2024</div>
5008       <div class="cg-conv-details">3–5 luglio 2024 · Pescara, Italia</div>
5009       <span class="cg-conv-type cg-conv-type-poster">Presentazione poster</span>
5010       <div class="cg-conv-authors">Salomone R., Scandurra F., Mondello G., Saija G., Lanuzza F.</div>
5011       <div class="cg-conv-title-text">"Circularity metrics in the agri-food sector and olive oil industry: a scoping literature review"</div>
5012     </div>
5013
5014     <div class="cg-conv-item">
5015       <div class="cg-conv-event">1st International Conference of the Hellenic Society for Circular Economy (HSCE)</div>
5016       <div class="cg-conv-details">12–13 settembre 2024 · La Canea, Grecia</div>
5017       <span class="cg-conv-type cg-conv-type-poster">Presentazione poster</span>
5018       <div class="cg-conv-authors">Raggi A., Arzoumanidis I., Petti L., Simboli A., Di Capua R., Renzulli P.A., Spizzirri G.U., Notarnicola B., Lanuzza F., Mondello G., Saija G., Salomone R.</div>
5019       <div class="cg-conv-title-text">"Measuring circularity and sustainability in Italian agri-food systems: the CIRCULAGRIS project"</div>
5020     </div>
5021
5022     <div class="cg-conv-item">
5023       <div class="cg-conv-event">1st International Conference of the International Association for Quality, Innovation, and Sustainability (IAQUIS)</div>
5024       <div class="cg-conv-details">11-14 settembre 2024 · Viterbo, Italia</div>
5025       <span class="cg-conv-type cg-conv-type-oral">Presentazione orale</span>
5026       <div class="cg-conv-authors">Esposito B., Notarnicola B., Di Capua R., Renzulli P.A.</div>
5027       <div class="cg-conv-title-text">"Unravelling circular best practices in the pasta and bread supply chains: insights from Italy"</div>
5028     </div>
5029
5030     <div class="cg-conv-item">
5031       <div class="cg-conv-event">1st International Conference of the International Association for Quality, Innovation And Sustainability (IAQUIS)</div>
5032       <div class="cg-conv-details">11–14 settembre 2024 · Viterbo, Italia</div>
5033       <span class="cg-conv-type cg-conv-type-oral">Presentazione orale</span>
5034       <div class="cg-conv-authors">Salomone R., Scandurra F., Mondello G., Saija G., Lanuzza F.</div>
5035       <div class="cg-conv-title-text">"Circular economy metrics in the agri-food sector: an applicative study in the olive oil industry"</div>
5036     </div>
5037
5038     <div class="cg-conv-item">
5039       <div class="cg-conv-event">XXXII Congresso Nazionale dell'Accademia Italiana di Scienze Merceologiche (AISME)</div>
5040       <div class="cg-conv-details">19–20 settembre 2024 · Lecce, Italia</div>
5041       <span class="cg-conv-type cg-conv-type-oral">Presentazione orale</span>
5042       <div class="cg-conv-authors">Salomone R., Scandurra F., Mondello G., Saija G., Lanuzza F.</div>
5043       <div class="cg-conv-title-text">"Measuring circularity and sustainability in the olive oil supply chain: an overview of available metrics"</
5043div>
5044     </div>
5045
5046     <div class="cg-conv-item">
5047       <div class="cg-conv-event">XIX Convegno dell'Associazione Rete Italiana LCA, 2025</div>
5048       <div class="cg-conv-details">19–21 marzo 2025 · Cortina d'Ampezzo, Italia</div>
5049       <span class="cg-conv-type cg-conv-type-oral">Presentazione orale</span>
5050       <div class="cg-conv-authors">Raggi A., Salomone R., Notarnicola B., Arzoumanidis I., Astuto F., Di Capua R., Esposito B., Lanuzza F., Mondello G., Petti L., Renzulli P.A., Saija G., Scandurra F., Simboli A., Tragnone B.M.</div>
5051       <div class="cg-conv-title-text">"Measuring circularity in agri-food: a methodological proposal for the selection and classification of indicators"</div>
5052     </div>
5053
5054     <div class="cg-conv-item">
5055       <div class="cg-conv-event">XIX Convegno dell'Associazione Rete Italiana LCA, 2025</div>
5056       <div class="cg-conv-details">19–21 marzo 2025 · Cortina d'Ampezzo, Italia</div>
5057       <span class="cg-conv-type cg-conv-type-poster">Presentazione poster</span>
5058       <div class="cg-conv-authors">Arzoumanidis I., Petti L., Simboli A., Tragnone B.M., Raggi A.</div>
5059       <div class="cg-conv-title-text">"Circularity indicators for the agri-food sector and the wine industry"</div>
5060     </div>
5061
5062     <div class="cg-conv-item">
5063       <div class="cg-conv-event">XIX Convegno dell'Associazione Rete Italiana LCA, 2025</div>
5064       <div class="cg-conv-details">19–21 marzo 2025 · Cortina d'Ampezzo, Italia</div>
5065       <span class="cg-conv-type cg-conv-type-poster">Presentazione poster</span>
5066       <div class="cg-conv-authors">Salomone R., Scandurra F., Mondello G., Saija G., Lanuzza F.</div>
5067       <div class="cg-conv-title-text">"Circular economy in the olive oil industry: evaluating best practices through life cycle assessment"</div>
5068     </div>
5069
5070     <div class="cg-conv-item">
5071       <div class="cg-conv-event">ECOMED 2025 — Seminario "Guidare la Transizione Circolare: Innovazione, Sostenibilità e Metodi di Valutazione"</div>
5072       <div class="cg-conv-details">15 aprile 2025 · Catania, Italia</div>
5073       <span class="cg-conv-type cg-conv-type-oral">Presentazione orale</span>
5074       <div class="cg-conv-authors">Salomone R.</div>
5075       <div class="cg-conv-title-text">"Valutazione della sostenibilità e circolarità nelle filiere agro-alimentari: il progetto CIRCULAGRIS"</div>
5076     </div>
5077
5078     <div class="cg-conv-item">
5079       <div class="cg-conv-event">Second openLCA.conf</div>
5080       <div class="cg-conv-details">9–11 aprile 2025 · Berlino, Germania</div>
5081       <span class="cg-conv-type cg-conv-type-poster">Presentazione poster</span>
5082       <div class="cg-conv-authors">Tragnone B.M., Arzoumanidis I., Petti L., Simboli A., Raggi A.</div>
5083       <div class="cg-conv-title-text">"Toward circular and sustainable wine supply chains: a social insight"</div>
5084     </div>
5085
5086     <div class="cg-conv-item">
5087       <div class="cg-conv-event">31st Annual Conference of the International Sustainable Development Research Society (ISDRS)</div>
5088       <div class="cg-conv-details">8–12 luglio 2025 · Budapest, Ungheria</div>
5089       <span class="cg-conv-type cg-conv-type-oral">Presentazione orale</span>
5090       <div class="cg-conv-authors">Raggi A., Salomone R., Notarnicola B., Arzoumanidis I., Astuto F., Di Capua R., Esposito B., Lanuzza F., Mondello G., Petti L., Renzulli P.A., Saija G., Scandurra F., Simboli A., Tragnone B.M.</div>
5091       <div class="cg-conv-title-text">"Measuring circularity in agri-food: a methodological proposal for the selection and classification of indicators"</div>
5092     </div>
5093
5094     <div class="cg-conv-item">
5095       <div class="cg-conv-event">2nd International Conference of the Hellenic Society for Circular Economy (HSCE)</div>
5096       <div class="cg-conv-details">17–19 settembre 2025 · La Canea, Grecia</div>
5097       <span class="cg-conv-type cg-conv-type-poster">Presentazione poster</span>
5098       <div class="cg-conv-authors">Tragnone B.M., Arzoumanidis I., Petti L., Simboli A., Raggi A.</div>
5099       <div class="cg-conv-title-text">"Identification of agri-food Social Life Cycle Assessment material themes"</div>
5100     </div>
5101
5102     <div class="cg-conv-item">
5103       <div class="cg-conv-event">Workshop "Application of Life Cycle Thinking to the agri-food sector", Associazione Rete Italiana LCA</div>
5104       <div class="cg-conv-details">24–25 settembre 2025 · Reggio Calabria, Italia</div>
5105       <span class="cg-conv-type cg-conv-type-oral">Presentazione orale</span>
5106       <div class="cg-conv-authors">Arzoumanidis I., Tragnone B.M., Petti L., Chiusano L., Raggi A.</div>
5107       <div class="cg-conv-title-text">"Environmental sustainability of circular practices in the wine supply chain: insights from a case study"</div>
5108     </div>
5109
5110     <div class="cg-conv-item">
5111       <div class="cg-conv-event">XLI Convegno Nazionale dell'Accademia Italiana di Economia Aziendale (AIDEA)</div>
5112       <div class="cg-conv-details">22–23 gennaio 2026 · Milano, Italia</div>
5113       <span class="cg-conv-type cg-conv-type-oral">Presentazione orale</span>
5114       <div class="cg-conv-authors">Tragnone B.M., Arzoumanidis I., Petti L., Chiusano L., Raggi A.</div>
5115       <div class="cg-conv-title-text">"Circular and sustainable solutions in the wine sector: a case study"</
5115div>
5116     </div>
5117
5118     <div class="cg-conv-item">
5119       <div class="cg-conv-event">Re-Think – Circular Economy Forum 2024</div>
5120       <div class="cg-conv-details">2–4 ottobre 2024 · Taranto, Italia</div>
5121       <span class="cg-conv-type cg-conv-type-oral">Presentazione orale</span>
5122       <div class="cg-conv-authors">Notarnicola B., Renzulli P.A., Di Capua R., Esposito B.</div>
5123       <div class="cg-conv-title-text">"Necessità di una metrica per quantificare la sostenibilità derivante dalla valorizzazione di materiali e residui: il ruolo della LCA"</div>
5124     </div>
5125
5126     <div class="cg-conv-item">
5127       <div class="cg-conv-event">XIX Convegno dell'Associazione Rete Italiana LCA, 2025</div>
5128       <div class="cg-conv-details">19–21 marzo 2025 · Cortina d'Ampezzo, Italia</div>
5129       <span class="cg-conv-type cg-conv-type-poster">Presentazione poster</span>
5130       <div class="cg-conv-authors">Esposito B., Notarnicola B., Di Capua R., Renzulli P.A.</div>
5131       <div class="cg-conv-title-text">"Il Life Cycle Costing come Strumento per l'Economia Circolare nel Settore Agroalimentare: Una Revisione Sistematica della Letteratura" — In corso di stampa</div>
5132     </div>
5133
5134     <div class="cg-conv-item">
5135       <div class="cg-conv-event">AFLUM 2026 International Conference — "The New Sustainability Agenda: Addressing Environmental and Social Challenges – Climate, Circularity, Biodiversity and Equity in Uncertain Times"</div>
5136       <div class="cg-conv-details">4–5 giugno 2026 · Bari, Italia</div>
5137       <span class="cg-conv-type cg-conv-type-oral">Presentazione orale</span>
5138       <div class="cg-conv-authors">Notarnicola B., Astuto F., De Gennaro S., Di Capua R., Esposito B., Renzulli P.A., Spizzirri U.G., Stasi G.</div>
5139       <div class="cg-conv-title-text">"Integrating Environmental and Circularity Metrics in the Pasta Supply Chain: a Comparative Assessment of Circular and Linear Alternatives"</div>
5140     </div>
5141
5142   </div>
5143
5144
5145  <!-- PHOTO SLIDESHOW -->
5146  <div class="cg-conv-slideshow-section">
5147    <h3 class="cg-conv-slideshow-title">Galleria fotografica</h3>
5148    <p class="cg-conv-slideshow-sub">Momenti dalle nostre partecipazioni a convegni.</p>
5149    <div class="cg-conv-slider-wrap">
5150      <img class="cg-conv-slide" src="/images/conf-milano-1.jpg" alt="AIDEA 2026 - Milano" />
5151      <img class="cg-conv-slide" src="/images/conf-cortina-new-1.jpg" alt="XIX Convegno Rete Italiana LCA - Cortina d'Ampezzo" />
5152      <img class="cg-conv-slide" src="/images/conf-cortina-new-2.jpg" alt="XIX Convegno Rete Italiana LCA - Cortina d'Ampezzo" />
5153      <img class="cg-conv-slide" src="/images/conf-barcellona-new.jpg" alt="LCA Food 2024 - Barcellona" />
5154      <img class="cg-conv-slide" src="/images/conf-messina-welcome.jpg" alt="Saluti istituzionali - Università di Messina" />
5155      <img class="cg-conv-slide" src="/images/conf-messina-opening.jpg" alt="Sessione di apertura - Università di Messina" />
5156      <img class="cg-conv-slide" src="/images/conf-messina-platea.jpg" alt="Platea - Università di Messina" />
5157      <img class="cg-conv-slide cg-fit-contain" src="/images/conf-messina-registration.jpg" alt="Registrazione - Università di Messina" />
5158      <img class="cg-conv-slide cg-fit-contain" src="/images/conf-rilca-2025.jpg" alt="RILCA 2025" />
5159      <img class="cg-conv-slide" src="/images/conf-rethink-tondo.jpg" alt="ReThink - Università degli Studi di Bari Aldo Moro" />
5160      <img class="cg-conv-slide cg-fit-contain" src="/images/conf-unich.jpg" alt="Workshop - Università G. d'Annunzio di Chiet
5160i-Pescara" />
5161      <img class="cg-conv-slide" src="/images/conf-uniba.jpg" alt="Workshop - Università degli Studi di Bari Aldo Moro" />
5162      <button class="cg-conv-slider-arrow left" onclick="cgConvSliderPrev()">←</button>
5163      <button class="cg-conv-slider-arrow right" onclick="cgConvSliderNext()">→</button>
5164    </div>
5165    <div class="cg-conv-slider-dots">
5166      <button class="cg-conv-slider-dot" onclick="cgConvSliderGoTo(0)"></button>
5167      <button class="cg-conv-slider-dot" onclick="cgConvSliderGoTo(1)"></button>
5168      <button class="cg-conv-slider-dot" onclick="cgConvSliderGoTo(2)"></button>
5169      <button class="cg-conv-slider-dot" onclick="cgConvSliderGoTo(3)"></button>
5170      <button class="cg-conv-slider-dot" onclick="cgConvSliderGoTo(4)"></button>
5171      <button class="cg-conv-slider-dot" onclick="cgConvSliderGoTo(5)"></button>
5172      <button class="cg-conv-slider-dot" onclick="cgConvSliderGoTo(6)"></button>
5173      <button class="cg-conv-slider-dot" onclick="cgConvSliderGoTo(7)"></button>
5174      <button class="cg-conv-slider-dot" onclick="cgConvSliderGoTo(8)"></button>
5175      <button class="cg-conv-slider-dot" onclick="cgConvSliderGoTo(9)"></button>
5176      <button class="cg-conv-slider-dot" onclick="cgConvSliderGoTo(10)"></button>
5177      <button class="cg-conv-slider-dot" onclick="cgConvSliderGoTo(11)"></button>
5178    </div>
5179  </div>
5180
5181  <!-- FOOTER -->
5182  <footer class="cg-conv-footer">
5183    <div class="cg-conv-footer-logos">
5184      <img src="/images/logo-circulagris.png" alt="CIRCULAGRIS" style="height: 50px; filter: brightness(0) invert(1);" />
5185    </div>
5186    <div class="cg-conv-footer-logos" style="margin-top: 16px;">
5187      <img src="/images/footer-eu-white.png" alt="Finanziato dall'Unione europea - NextGenerationEU" style="height:56px;" />
5188      <img src="/images/footer-mur-white.png" alt="Ministero dell'Università e della Ricerca" style="height:42px;" />
5189      <img src="/images/footer-italiadomani-white.png" alt="Italia Domani - PNRR" style="height:72px;" />
5190      <img src="/images/logo-uda.png" alt="UdA" style="height:80px;" />
5191      <img src="/images/logo-unime-white.png" alt="UNIME" style="height:76px;" />
5192      <img src="/images/logo-uniba.png" alt="UNIBA" style="height:80px;" />
5193    </div>
5194    <p style="margin-top: 20px;">© 2024 CIRCULAGRIS — PRIN 2022 | <a href="https://www.unich.it" target="_blank">Università degli Studi "G. d'Annunzio" Chieti-Pescara</a></p>
5195    <div class="cg-conv-footer-funding">
5196      Progetto di ricerca "Towards circular and sustainable agri-food systems: metrics for assessment (CIRCULAGRIS)" PRIN2022 (Progetti di Ricerca di Interesse Nazionale) finanziato dall'Unione Europea - Next Generation EU, Missione 4, Componente 2, CUP D53D23011220006.
5197    </div>
5198    <div style="margin-top: 16px; font-size: 0.72rem; color: rgba(255,255,255,0.5);">
5199      <a href="https://www.sitiwebshop.it/?utm_source=sito-cliente&utm_medium=circulagris-universita-ch" target="_blank" rel="noopener noreferrer" style="color: rgba(255,255,255,0.8); text-decoration: underline;">Powered by Webshop Human AI Automation</a>
5200    </div>
5201  </footer>
5202
5203</div>
5204`}})),I2=()=>(x.useEffect(()=>{function e(){const t=document.querySelector(".cg-pub-inst-bar"),i=document.querySelector(".cg-pub-nav");t&&i&&(i.style.top=t.offsetHeight+"px")}return requestAnimationFrame(e),setTimeout(e,100),setTimeout(e,500),window.addEventListener("resize",e),window.addEventListener("load",e),()=>{window.removeEventListener("resize",e),window.removeEventListener("load",e)}},[]),I.jsx("div",{dangerouslySetInnerHTML:{__html:`
5205<style>
5206.cg-pub-root *, .cg-pub-root *::before, .cg-pub-root *::after { margin: 0; padding: 0; box-sizing: border-box; }
5207.cg-pub-root {
5208  font-family: Calibri, 'Segoe UI', sans-serif;
5209  color: #3a3a4a; line-height: 1.6; background: #FAF8F2;
5210  min-height: 100vh;
5211}
5212.cg-pub-root img { max-width: 100%; }
5213
5214/* ─── INSTITUTIONAL BAR ─── */
5215.cg-pub-inst-bar {
5216  position: fixed; top: 0; left: 0; right: 0; z-index: 101;
5217  background: #2A65AF;
5218  display: flex; align-items: center; justify-content: center;
5219  gap: 28px; padding: 14px 40px;
5220  border-bottom: 1px solid rgba(0,0,0,0.08);
5221  flex-wrap: wrap;
5222}
5223.cg-pub-inst-bar img { height: 64px; object-fit: contain; flex-shrink: 0; }
5224.cg-pub-inst-bar .cg-inst-divider {
5225  width: 1px; height: 48px; background: rgba(255,255,255,0.3); flex-shrink: 0;
5226}
5227
5228/* ─── NAV ─── */
5229.cg-pub-nav {
5230  position: fixed; top: 92px; left: 0; right: 0; z-index: 100;
5231  background: rgba(255,255,255,0.92);
5232  backdrop-filter: blur(16px);
5233  padding: 18px 60px;
5234  display: flex; align-items: center; justify-content: space-between;
5235  border-bottom: 1px solid rgba(0,0,0,0.06);
5236  box-shadow: 0 2px 20px rgba(0,0,0,0.04);
5237}
5238.cg-pub-nav-logo { display: flex; align-items: center; }
5239.cg-pub-nav-logo img { height: 56px; object-fit: contain; margin-right: 16px; }
5240.cg-pub-nav-links { display: flex; gap: 32px; list-style: none; }
5241.cg-pub-nav-links a {
5242  color: #555; text-decoration: none; font-size: 0.82rem;
5243  font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase;
5244  transition: color 0.3s; position: relative; cursor: pointer;
5245}
5246.cg-pub-nav-links a:hover { color: #8B7535; }
5247.cg-pub-nav-links a::after {
5248  content:''; position: absolute; bottom: -6px; left: 0; width: 0; height: 2px;
5249  background: #8B7535; transition: width 0.3s;
5250}
5251.cg-pub-nav-links a:hover::after { width: 100%; }
5252.cg-pub-nav-links a.active { color: #8B7535; }
5253.cg-pub-nav-links a.active::after { width: 100%; }
5254
5255/* ─── BURGER ─── */
5256.cg-pub-burger {
5257  display: none; flex-direction: column; gap: 5px; cursor: pointer;
5258  padding: 8px; z-index: 200;
5259}
5260.cg-pub-burger span {
5261  display: block; width: 24px; height: 2px; background: #3a3a4a;
5262  transition: all 0.3s; border-radius: 2px;
5263}
5264.cg-pub-mobile-menu {
5265  display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0;
5266  background: #FAF8F2; z-index: 190;
5267  flex-direction: column; align-items: center; justify-content: center;
5268  gap: 24px; list-style: none; overflow: hidden;
5269}
5270.cg-pub-mobile-menu.open { display: flex; }
5271.cg-pub-mobile-menu a {
5272  color: #3a3a4a; text-decoration: none; font-size: 1.1rem;
5273  font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
5274  font-family: Calibri, 'Segoe UI', sans-serif; cursor: pointer;
5275  transition: color 0.3s;
5276}
5277.cg-pub-mobile-menu a:hover { color: #8B7535; }
5278.cg-pub-mobile-close {
5279  position: absolute; top: 20px; right: 20px;
5280  width: 40px; height: 40px; cursor: pointer;
5281  display: flex; align-items: center; justify-content: center;
5282  background: none; border: none; z-index: 200;
5283}
5284.cg-pub-mobile-close::before, .cg-pub-mobile-close::after {
5285  content: ''; position: absolute;
5286  width: 24px; height: 2px; background: #3a3a4a; border-radius: 2px;
5287}
5288.cg-pub-mobile-close::before { transform: rotate(45deg); }
5289.cg-pub-mobile-close::after { transform: rotate(-45deg); }
5290
5291/* ─── HEADER ─── */
5292.cg-pub-header {
5293  background: #2A65AF;
5294  padding: 200px 60px 60px; text-align: center;
5295}
5296.cg-pub-header h1 {
5297  font-family: Calibri, 'Segoe UI', sans-serif;
5298  font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 800;
5299  color: #fff; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 12px;
5300}
5301.cg-pub-header p {
5302  font-size: 1rem; color: rgba(255,255,255,0.7); max-width: 600px; margin: 0 auto;
5303}
5304
5305/* ─── CONTENT ─── */
5306.cg-pub-section {
5307  max-width: 1000px; margin: 0 auto; padding: 60px 40px;
5308}
5309.cg-pub-divider {
5310  width: 60px; height: 3px; background: linear-gradient(90deg, #8B7535, #8E4585);
5311  margin-bottom: 32px; border-radius: 2px;
5312}
5313.cg-pub-list {
5314  list-style: none; display: flex; flex-direction: column; gap: 20px;
5315  margin-bottom: 60px;
5316}
5317.cg-pub-item {
5318  background: #fff; border-radius: 12px; padding: 24px 28px;
5319  border: 1px solid rgba(0,0,0,0.06);
5320  border-left: 4px solid #8B7535;
5321  transition: all 0.3s;
5322}
5323.cg-pub-item:hover {
5324  transform: translateX(4px);
5325  box-shadow: 0 4px 20px rgba(0,0,0,0.06);
5326}
5327.cg-pub-item p {
5328  font-size: 0.85rem; color: #555; line-height: 1.7;
5329}
5330.cg-pub-item .cg-pub-authors {
5331  font-weight: 700; color: #3a3a4a;
5332}
5333.cg-pub-item .cg-pub-year {
5334  display: inline-block; background: #8B7535; color: #fff;
5335  font-size: 0.7rem; font-weight: 700; padding: 2px 10px;
5336  border-radius: 20px; margin-bottom: 8px; letter-spacing: 0.5px;
5337}
5338.cg-pub-item .cg-pub-venue {
5339  font-style: italic; color: #777;
5340}
5341/* ─── FOOTER ─── */
5342.cg-pub-footer {
5343  background: #2A65AF; padding: 40px 60px; text-align: center;
5344  color: rgba(255,255,255,0.5); font-size: 0.78rem; line-height: 1.8;
5345}
5346.cg-pub-footer-logos {
5347  display: flex; align-items: center; justify-content: center;
5348  gap: 24px; margin-bottom: 16px; flex-wrap: wrap;
5349}
5350.cg-pub-footer-logos img { height: 44px; object-fit: contain; }
5351.cg-pub-footer a { color: rgba(255,255,255,0.7); text-decoration: none; }
5352.cg-pub-footer-funding {
5353  max-width: 800px; margin: 16px auto 0; font-size: 0.72rem;
5354  color: rgba(255,255,255,0.35); line-height: 1.6;
5355}
5356.cg-pub-footer p { color: rgba(255,255,255,0.5); }
5357
5358@media (max-width: 900px) {
5359  .cg-pub-hide-mobile { display: none !important; }
5360  .cg-pub-nav-links { display: none; }
5361  .cg-pub-burger { display: flex; }
5362  .cg-pub-inst-bar { padding: 10px 20px; gap: 14px; flex-wrap: wrap; }
5363  .cg-pub-inst-bar img { height: 44px; }
5364  .cg-pub-inst-bar .cg-inst-divider { height: 32px; }
5365}
5366@media (max-width: 640px) {
5367  .cg-pub-header { padding: 220px 10px 40px; }
5368  .cg-pub-section { padding: 40px 10px; text-align: center; }
5369  .cg-pub-inst-bar { padding: 8px 6px; gap: 8px; justify-content: space-between; flex-wrap: nowrap; }
5370  .cg-pub-inst-bar img { height: 32px !important; flex-shrink: 1; min-width: 0; object-fit: contain; }
5371  .cg-pub-inst-bar .cg-logo-italiadomani { height: 58px !important; }
5372  .cg-pub-inst-bar .cg-inst-divider { display: flex; height: 28px; background: rgba(255,255,255,0.3); width: 1px; flex-shrink: 0; }
5373  .cg-pub-nav { top: auto; padding: 12px 10px; }
5374  .cg-pub-item { padding: 16px 14px; text-align: center; }
5375  .cg-pub-item p { text-align: center; }
5376  .cg-pub-divider { margin-left: auto; margin-right: auto; }
5377  .cg-pub-footer { padding: 30px 10px; }
5378  .cg-pub-footer-logos { gap: 12px; }
5379  .cg-pub-footer-logos img { height: 32px; }
5380}
5381</style>
5382
5383<div class="cg-pub-root">
5384
5385  <!-- INSTITUTIONAL BAR -->
5386  <div class="cg-pub-inst-bar">
5387    <img src="/images/footer-eu-white.png" alt="Finanziato dall'Unione europea - NextGenerationEU" style="height:56px;" />
5388    <div class="cg-inst-divider"></div>
5389    <img src="/images/footer-mur-white.png" alt="MUR" style="height:42px;" />
5390    <div class="cg-inst-divider"></div>
5391    <img src="/images/footer-italiadomani-white.png" alt="Italia Domani" style="height:72px;" class="cg-logo-italiadomani" />
5392    <div class="cg-inst-divider cg-pub-hide-mobile"></div>
5393    <img src="/images/logo-uda.png" alt="UdA" style="height:80px;" class="cg-pub-hide-mobile" />
5394    <img src="/images/logo-unime-white.png" alt="UNIME" style="height:76px;" class="cg-pub-hide-mobile" />
5395    <img src="/images/logo-uniba.png" alt="UNIBA" style="height:80px;" class="cg-pub-hide-mobile" />
5396  </div>
5397
5398  <!-- NAV -->
5399  <nav class="cg-pub-nav">
5400    <a class="cg-pub-nav-logo" href="https://www.circulagris.com/home-ita/" target="_top"><img src="/images/logo-circulagris.png" alt="CIRCULAGRIS" /></a>
5401    <ul class="cg-pub-nav-links">
5402      <li><a href="https://www.circulagris.com/home-ita/" target="_top">Home</a></li>
5403      <li><a href="https://www.circulagris.com/ricercatori/" target="_top">Ricercatori</a></li>
5404      <li><a href="https://www.circulagris.com/conferenze/" target="_top">Convegni</a></li>
5405      <li><a href="https://www.circulagris.com/workshops-ita/" target="_top">Workshop</a></li>
5406      <li><a href="https://www.circulagris.com/pubblicazioni/" target="_top" class="active">Pubblicazioni</a></li>
5407    <li class="cg-lang-switch"><a href="https://www.circulagris.com/publications/" target="_top" style="background:#8B7535;color:#fff !important;padding:6px 14px;border-radius:20px;font-weight:700;cursor:pointer;">EN</a></li>
5408    </ul>
5409    <div class="cg-pub-burger" onclick="(function(){var m=document.getElementById('cgPubMobileMenu');m.classList.toggle('open')})()">
5410      <span></span><span></span><span></span>
5411    </div>
5412  </nav>
5413
5414  <!-- MOBILE MENU -->
5415  <ul class="cg-pub-mobile-menu" id="cgPubMobileMenu">
5416    <button class="cg-pub-mobile-close" onclick="document.getElementById('cgPubMobileMenu').classList.remove('open')" aria-label="Chiudi"></button>
5417    <li><a href="https://www.circulagris.com/home-ita/" target="_top">Home</a></li>
5418    <li><a href="https://www.circulagris.com/ricercatori/" target="_top">Ricercatori</a></li>
5419    <li><a href="https://www.circulagris.com/conferenze/" target="_top">Convegni</a></li>
5420    <li><a href="https://www.circulagris.com/workshops-ita/" target="_top">Workshop</a></li>
5421    <li><a href="https://www.circulagris.com/pubblicazioni/" target="_top">Pubblicazioni</a></li>
5422    <li class="cg-lang-switch"><a href="https://www.circulagris.com/publications/" target="_top" style="background:#8B7535;color:#fff !important;padding:6px 14px;border-radius:20px;font-weight:700;cursor:pointer;">EN</a></li>
5423  </ul>
5424
5425  <div class="cg-pub-header">
5426    <h1>Pubblicazioni</h1>
5427    <p>Contributi scientifici realizzati nell'ambito del progetto CIRCULAGRIS.</p>
5428  </div>
5429
5430  <div class="cg-pub-section">
5431
5432    <div class="cg-pub-divider"></div>
5433    <ul class="cg-pub-list">
5434
5435      <li class="cg-pub-item">
5436        <span class="cg-pub-year">2024</span>
5437        <p><span class="cg-pub-authors">ESPOSITO, B., NOTARNICOLA, B., DI CAPUA, R., RENZULLI, P.A.</span> 2024. &ldquo;Unravelling circular best practices in the pasta and bread supply chains: insights from Italy&rdquo;. <span class="cg-pub-venue">In: Suarez Barraza, M.F., Edvardsson, B., Jaca, C., Psomas, E., Renzi, M.F., Marimon, F., Gianni, M., Sebahtu, S., Ruggieri, A. (a cura di). Proceedings of the 1st International Conference of the International Association for Quality, Innovation and Sustainability (IAQUIS) &ldquo;Fostering organisational transformation for a sustainable future: Enhancing synergies between quality, innovation and sustainability&rdquo;, pp. 19&ndash;36. ISBN: 979-12-210-9378-0</span></p>
5438      </li>
5439
5440      <li class="cg-pub-item">
5441        <span class="cg-pub-year">2024</span>
5442        <p><span class="cg-pub-authors">RAGGI A., ARZOUMANIDIS I., PETTI L., SIMBOLI A., DI CAPUA R., RENZULLI P.A., SPIZZIRRI G.U., NOTARNICOLA B., LANUZZA F., MONDELLO G., SAIJA G., SALOMONE R.</span> 2024. &ldquo;The CIRCULAGRIS project for developing metrics for circularity and sustainability in Italian agri-food systems&rdquo;. <span class="cg-pub-venue">Book of abstracts of the 30th Annual Conference of the International Sustainable Development Research Society (ISDRS), &ldquo;Linking Futures of Mountain and Ocean: Rescuing the SDGs 2030 for Sustainable Livelihood&rdquo;, 10&ndash;14 giugno 2024, Kathmandu, Nepal, pp. 174&ndash;175</span></p>
5443      </li>
5444
5445      <li class="cg-pub-item">
5446        <span class="cg-pub-year">2024</span>
5447        <p><span class="cg-pub-authors">RAGGI A., ARZOUMANIDIS I., PETTI L., SIMBOLI A., DI CAPUA R., RENZULLI P.A., NOTARNICOLA B., LANUZZA F., MONDELLO G., SALOMONE R.</span> 2024. &ldquo;Circularity and sustainability metrics for Italian agri-food systems: the CIRCULAGRIS project&rdquo;. <span class="cg-pub-venue">In: N&uacute;&ntilde;ez M. (a cura di). Book of abstracts of the 14th International Conference on Life Cycle Assessment of Food (LCA Food 2024), 8&ndash;12 settembre 2024, Barcellona, Spagna, pp. 911&ndash;912</span></p>
5448      </li>
5449
5450      <li class="cg-pub-item">
5451        <span class="cg-pub-year">2024</span>
5452        <p><span class="cg-pub-authors">RAGGI A., ARZOUMANIDIS I., PETTI L., SIMBOLI A., DI CAPUA R., RENZULLI P.A., SPIZZIRRI G.U., NOTARNICOLA B., LANUZZA F., MONDELLO G., SAIJA G., SALOMONE R.</span> 2024. &ldquo;Measuring circularity and sustainability in Italian agri-food systems: the CIRCULAGRIS project&rdquo;. <span class="cg-pub-venue">Book of abstracts of the 1st International Conference of the Hellenic Society for Circular Economy &ldquo;Circular Economy: the pathway towards a sustainable development&rdquo;, 12&ndash;13 settembre 2024, Chania, Grecia, pp. 292&ndash;293</span></p>
5453      </li>
5454
5455      <li class="cg-pub-item">
5456        <span class="cg-pub-year">2024</span>
5457        <p><span class="cg-pub-authors">SALOMONE, R., SCANDURRA, F., MONDELLO, G., SAIJA, G., LANUZZA, F.</span> 2024. &ldquo;Circular economy metrics in the agri-food sector: an applicative study in the olive oil industry&rdquo;. <span class="cg-pub-venue">In: Suarez Barraza, M.F. et al. (a cura di). Proceedings of the 1st International Conference of the International Association for Quality, Innovation and Sustainability (IAQUIS) &ldquo;Fostering organisational transformation for a sustainable future: Enhancing synergies between quality, innovation and sustainability&rdquo;, 11&ndash;14 settembre 2024, Viterbo, Italia, pp. 236&ndash;246, ISBN: 9791221093780</span></p>
5458      </li>
5459
5460      <li class="cg-pub-item">
5461        <span class="cg-pub-year">2024</span>
5462        <p><span class="cg-pub-authors">SALOMONE, R., SCANDURRA, F., MONDELLO, G., SAIJA, G., LANUZZA, F.</span> 2024. &ldquo;Measuring circularity and sustainability in the olive oil supply chain: an overview of available metrics&rdquo;. <span class="cg-pub-venue">In: Agnusdei, L. et al. (a cura di). XXXII XXIII Congresso Nazionale delle Scienze Merceologiche, &ldquo;Resilienza e sostenibilit&agrave; nel cambiamento globale&rdquo;, 19&ndash;20 settembre 2024, Lecce, Italia, pp. 482&ndash;489, ISBN: 979-12-985593-1-8</span></p>
5463      </li>
5464
5465      <li class="cg-pub-item">
5466        <span class="cg-pub-year">2024</span>
5467        <p><span class="cg-pub-authors">SCANDURRA, F., SALOMONE, R., MONDELLO, G., SAIJA, G., LANUZZA, F.</span> 2024. &ldquo;Circularity and sustainability indicators for the agrifood sector: The case of olive oil supply chain&rdquo;. <span class="cg-pub-venue">Proceedings of the 30th Annual Conference of the International Sustainable Development Research Society (ISDRS), &ldquo;Linking Futures of Mountain and Ocean: Rescuing the SDGs 2030 for Sustainable Livelihood&rdquo;, 10&ndash;14 giugno 2024, Kathmandu, Nepal, pp. 460&ndash;470. ISBN: 978-9937-1-8614-8</span></p>
5468      </li>
5469
5470      <li class="cg-pub-item">
5471        <span class="cg-pub-year">2025</span>
5472        <p><span class="cg-pub-authors">ESPOSITO, B., NOTARNICOLA, B., RENZULLI, P.A., DI CAPUA, R.</span> 2025. &ldquo;Circularity in the pasta supply chain: Developing a multi-indicator framework for circular economy assessment&rdquo;. <span class="cg-pub-venue">Cleaner Environmental Systems, 100327</span></p>
5473      </li>
5474
5475      <li class="cg-pub-item">
5476        <span class="cg-pub-year">2025</span>
5477        <p><span class="cg-pub-authors">SALOMONE, R., SCANDURRA, F., MONDELLO, G., SAIJA, G., LANUZZA, F.</span> 2025. &ldquo;Circularity metrics in the agri-food sector and olive oil industry: a scoping literature review&rdquo;. <span class="cg-pub-venue">In: Raggi, A. et al. (a cura di). Atti del XVIII Convegno dell&rsquo;Associazione Rete Italiana LCA 2024, &ldquo;Life Cycle Thinking a supporto di modelli di produzione e di consumo sostenibili&rdquo;, 3&ndash;5 luglio 2024, Pescara, Italia, pp. 135&ndash;142, ISBN: 9791221004571</span></p>
5478      </li>
5479
5480      <li class="cg-pub-item">
5481        <span class="cg-pub-year">2025</span>
5482        <p><span class="cg-pub-authors">TRAGNONE, B.M., ARZOUMANIDIS, I., PETTI, L., SIMBOLI, A., RAGGI, A.</span> 2025. &ldquo;Toward circular and sustainable wine supply chains: a social insight&rdquo;. <span class="cg-pub-venue">In: Mittal, M. et al. (a cura di). Proceedings of the Second openLCA.conf, 10&ndash;11 aprile 2025, Berlino, Germania, p. 64</span></p>
5483      </li>
5484
5485      <li class="cg-pub-item">
5486        <span class="cg-pub-year">2025</span>
5487        <p><span class="cg-pub-authors">TRAGNONE, B.M., ARZOUMANIDIS, I., PETTI, L., SIMBOLI, A., RAGGI, A.</span> 2025. &ldquo;Identification of agri-food Social Life Cycle Assessment material themes&rdquo;. <span class="cg-pub-venue">In: Stefanakis, A., Nikolaou, I. (a cura di). e-Book of abstracts of the International Conference of the Hellenic Society for Circular Economy (HSCE), &ldquo;Circular Economy: the pathway towards a sustainable development&rdquo;, 17&ndash;19 settembre 2025, Chania, Grecia, pp. 284&ndash;285</span></p>
5488      </li>
5489
5490      <li class="cg-pub-item">
5491        <span class="cg-pub-year">2025</span>
5492        <p><span class="cg-pub-authors">ARZOUMANIDIS, I., PETTI, L., SIMBOLI, A., TRAGNONE, B.M., RAGGI, A.</span> 2025. Indicatori di circolarit&agrave; per il settore agroalimentare e il comparto vitivinicolo. <span class="cg-pub-venue">Atti del XIX Convegno dell&rsquo;Associazione Rete Italiana LCA, 2025, &ldquo;Transizione sostenibile, competitivit&agrave; e innovazione: il ruolo della Life Cycle Assessment&rdquo;, 19&ndash;21 marzo 2025, Cortina d&rsquo;Ampezzo, Italia. In corso di stampa</span></p>
5493      </li>
5494
5495      <li class="cg-pub-item">
5496        <span class="cg-pub-year">2025</span>
5497        <p><span class="cg-pub-authors">ESPOSITO, B., NOTARNICOLA, B., DI CAPUA, R., RENZULLI, P.A.</span> 2025. Il Life Cycle Costing come strumento per l&rsquo;economia circolare nel settore agroalimentare: una revisione sistematica della letteratura. <span class="cg-pub-venue">Atti del XIX Convegno dell&rsquo;Associazione Rete Italiana LCA, 2025, &ldquo;Transizione sostenibile, competitivit&agrave; e innovazione: il ruolo della Life Cycle Assessment&rdquo;, 19&ndash;21 marzo 2025, Cortina d&rsquo;Ampezzo, Italia. In corso di stampa</span></p>
5498      </li>
5499
5500      <li class="cg-pub-item">
5501        <span class="cg-pub-year">2025</span>
5502        <p><span class="cg-pub-authors">RAGGI, A., SALOMONE, R., NOTARNICOLA, B., ARZOUMANIDIS, I., ASTUTO, F., DI CAPUA, R., ESPOSITO, B., LANUZZA, F., MONDELLO, G., PETTI, L., RENZULLI, P.A., SAIJA, G., SCANDURRA, F., SIMBOLI, A., TRAGNONE, B.M.</span> 2025. Misurazione della circolarit&agrave; nell&rsquo;agri-food: una proposta metodologica per la selezione e la classificazione di indicatori. <span class="cg-pub-venue">Atti del XIX Convegno dell&rsquo;Associazione Rete Italiana LCA, 2025, &ldquo;Transizione sostenibile, competitivit&agrave; e innovazione: il ruolo della Life Cycle Assessment&rdquo;, 19&ndash;21 marzo 2025, Cortina d&rsquo;Ampezzo, Italia. In corso di stampa</span></p>
5503      </li>
5504
5505      <li class="cg-pub-item">
5506        <span class="cg-pub-year">2025</span>
5507        <p><span class="cg-pub-authors">SALOMONE, R., SCANDURRA, F., MONDELLO, G., SAIJA, G., LANUZZA, F.</span> &ldquo;Circular economy in the olive oil industry: evaluating best practices through life cycle assessment&rdquo;. <span class="cg-pub-venue">Atti del XIX Convegno dell&rsquo;Associazione Rete Italiana LCA, 2025, &ldquo;Transizione sostenibile, competitivit&agrave; e innovazione: il ruolo della Life Cycle Assessment&rdquo;, 19&ndash;21 marzo 2025, Cortina d&rsquo;Ampezzo, Italia. In corso di stampa</span></p>
5508      </li>
5509
5510      <li class="cg-pub-item">
5511        <span class="cg-pub-year">2025</span>
5512        <p><span class="cg-pub-authors">RAGGI A., SALOMONE R., NOTARNICOLA B., ARZOUMANIDIS I., ASTUTO F., DI CAPUA R., ESPOSITO B., LANUZZA F., MONDELLO G., PETTI L., RENZULLI P.A., SAIJA G., SCANDURRA F., SIMBOLI A., TRAGNONE B.M.</span> &ldquo;Measuring circularity in agri-food: a methodological proposal for the selection and classification of indicators&rdquo;. <span class="cg-pub-venue">Book of abstracts of the 31st Annual Conference of the International Sustainable Development Research Society (ISDRS), &ldquo;Sustainability and beyond&rdquo;, 8&ndash;12 luglio 2025, Budapest, Ungheria. In corso di stampa</span></p>
5513      </li>
5514
5515      <li class="cg-pub-item">
5516        <span class="cg-pub-year">2025</span>
5517        <p><span class="cg-pub-authors">RAGGI A., SALOMONE R., NOTARNICOLA B., ARZOUMANIDIS I., ASTUTO F., DI CAPUA R., ESPOSITO B., LANUZZA F., MONDELLO G., PETTI L., RENZULLI P.A., SAIJA G., SCANDURRA F., SIMBOLI A., TRAGNONE B.M.</span> &ldquo;Measuring circularity in agri-food: a methodological proposal for the selection and classification of indicators&rdquo;. <span class="cg-pub-venue">Proceedings of the 31st Annual Conference of the International Sustainable Development Research Society (ISDRS), &ldquo;Sustainability and beyond&rdquo;, 8&ndash;12 luglio 2025, Budapest, Ungheria. In corso di stampa</span></p>
5518      </li>
5519
5520      <li class="cg-pub-item">
5521        <span class="cg-pub-year">2026</span>
5522        <p><span class="cg-pub-authors">TRAGNONE, B.M., ARZOUMANIDIS, I., PETTI, L., CHIUSANO, L., RAGGI, A.</span> Soluzioni circolari e sostenibili nel settore vitivinicolo: un caso studio. <span class="cg-pub-venue">XLI Convegno Nazionale dell&rsquo;Accademia Italiana di Economia Aziendale (AIDEA), &ldquo;Intelligenze Aziendali per la competitivit&agrave; sostenibile e il bene comune&rdquo;, 22&ndash;23 gennaio 2026, Milano, Italia. In corso di stampa</span></p>
5523      </li>
5524
5525      <li class="cg-pub-item">
5526        <span class="cg-pub-year">2026</span>
5527        <p><span class="cg-pub-authors">TRAGNONE, B.M., ARZOUMANIDIS, I., PETTI, L., SIMBOLI, A., RAGGI, A.</span> &ldquo;Aspetti sociali nella transizione verso filiere vitivinicole circolari&rdquo;. <span class="cg-pub-venue">Capitolo di libro, Bologna University Press. In corso di stampa</span></p>
5528      </li>
5529
5530      <li class="cg-pub-item">
5531        <span class="cg-pub-year">2026</span>
5532        <p><span class="cg-pub-authors">ARZOUMANIDIS, I., TRAGNONE, B.M., PETTI, L., RAGGI A.</span> &ldquo;The environmental profile of a biosymbiotic wine in Italy: towards more circular solutions&rdquo;. <span class="cg-pub-venue">2nd LUM Conference on Accounting, Banking, and Finance Research &ldquo;The New Sustainability Agenda: Addressing Environmental and Social Challenges &ndash; Climate, Circularity, Biodiversity and Equity in Uncertain Times&rdquo;, 4&ndash;5 giugno 2026, Bari, Italia. Accettato</span></p>
5533      </li>
5534
5535      <li class="cg-pub-item">
5536        <span class="cg-pub-year">2026</span>
5537        <p><span class="cg-pub-authors">TRAGNONE, B.M., ARZOUMANIDIS, I., PETTI, L., RAGGI, A.</span> &ldquo;Towards Circular Agri-food Chains: Challenges in the Application of Social Life Cycle Assessment&rdquo;. <span class="cg-pub-venue">Social Life Cycle Assessment (S-LCA) Conference 2026, &ldquo;Unity in diversity&rdquo;, 17&ndash;19 giugno 2026, Jakarta, Indonesia. Accettato</span></p>
5538      </li>
5539
5540      <li class="cg-pub-item">
5541        <span class="cg-pub-year">2026</span>
5542        <p><span class="cg-pub-authors">NOTARNICOLA, B., ASTUTO, F., DE GENNARO, S., DI CAPUA, R., ESPOSITO, B., RENZULLI, P.A., SPIZZIRRI, U.G., STASI, G.</span> &ldquo;Integrating Environmental and Circularity Metrics in the Pasta Supply Chain: a Comparative Assessment of Circular and Linear Alternatives&rdquo;. <span class="cg-pub-venue">2nd LUM Conference on Accounting, Banking, and Finance Research &ldquo;The New Sustainability Agenda: Addressing Environmental and Social Challenges &ndash; Climate, Circularity, Biodiversity and Equity in Uncertain Times&rdquo;, 4&ndash;5 giugno 2026, Bari, Italia. Accettato</span></p>
5543      </li>
5544
5545      <li class="cg-pub-item">
5546        <span class="cg-pub-year">2026</span>
5547        <p><span class="cg-pub-authors">TRAGNONE, B.M., ARZOUMANIDIS, I., PETTI, L., SIMBOLI, A., RAGGI, A.</span> Verso transizioni circolari nella filiera vitivinicola: una sintesi sistematica delle soluzioni proposte in letteratura. <span class="cg-pub-venue">XXIII Congresso Nazionale delle Scienze Merceologiche, &ldquo;Rigenerare il valore: qualit&agrave;, innovazione e sostenibilit&agrave; per il futuro delle organizzazioni e della societ&agrave;&rdquo;, 14&ndash;16 settembre 2026, Catania, Italia. Inviato</span></p>
5548      </li>
5549
5550      <li class="cg-pub-item">
5551        <span class="cg-pub-year">2026</span>
5552        <p><span class="cg-pub-authors">TRAGNONE, B.M., ARZOUMANIDIS, I., PETTI, L., SIMBOLI, A., RAGGI, A.</span> Circolarit&agrave; nella filiera vitivinicola: una ricognizione delle soluzioni implementate in vigneto e cantina. <span class="cg-pub-venue">XX Convegno dell&rsquo;Associazione Rete Italiana LCA &ldquo;LCA e metodi life cycle-based per la misurazione della sostenibilit&agrave; di prodotti, servizi, organizzazioni e soluzioni circolari&rdquo;, 23&ndash;25 settembre 2026, Taranto, Italia. Inviato</span></p>
5553      </li>
5554
5555      <li class="cg-pub-item">
5556        <span class="cg-pub-year">2026</span>
5557        <p><span class="cg-pub-authors">ARZOUMANIDIS, I., TRAGNONE, B.M., PETTI, L., CHIUSANO, L., RAGGI A.</span> &ldquo;Circular and sustainable solutions in the wine sector: a case study&rdquo;. <span class="cg-pub-venue">32nd Annual Conference of the International Sustainable Development Research Society (ISDRS), &ldquo;Transforming Global Challenges into Sustainable Opportunities: Collaborations and Partnerships across the globe&rdquo;, 7&ndash;11 luglio, Victoria, Brasile. Inviato</span></p>
5558      </li>
5559
5560    </ul>
5561
5562  </div>
5563
5564  <!-- FOOTER -->
5565  <footer class="cg-pub-footer">
5566    <div class="cg-pub-footer-logos">
5567      <img src="/images/logo-circulagris.png" alt="CIRCULAGRIS" style="height: 50px; filter: brightness(0) invert(1);" />
5568    </div>
5569    <div class="cg-pub-footer-logos" style="margin-top: 16px;">
5570      <img src="/images/footer-eu-white.png" alt="Finanziato dall'Unione europea - NextGenerationEU" style="height:56px;" />
5571      <img src="/images/footer-mur-white.png" alt="Ministero dell'Università e della Ricerca" style="height:42px;" />
5572      <img src="/images/footer-italiadomani-white.png" alt="Italia Domani - PNRR" style="height:72px;" />
5573      <img src="/images/logo-uda.png" alt="UdA" style="height:80px;" />
5574      <img src="/images/logo-unime-white.png" alt="UNIME" style="height:76px;" />
5575      <img src="/images/logo-uniba.png" alt="UNIBA" style="height:80px;" />
5576    </div>
5577    <p style="margin-top: 20px;">&copy; 2024 CIRCULAGRIS &mdash; PRIN 2022 | <a href="https://www.unich.it" target="_blank" style="color:rgba(255,255,255,0.7);text-decoration:none;">Universit&agrave; degli Studi "G. d'Annunzio" Chieti-Pescara</a></p>
5578    <div style="max-width:800px;margin:16px auto 0;font-size:0.72rem;color:rgba(255,255,255,0.35);line-height:1.6;">
5579      Progetto di ricerca "Towards circular and sustainable agri-food systems: metrics for assessment (CIRCULAGRIS)" PRIN2022 (Progetti di Ricerca di Interesse Nazionale) finanziato dall'Unione Europea - Next Generation EU, Missione 4, Componente 2, CUP D53D23011220006.
5580    </div>
5581    <div style="margin-top: 16px; font-size: 0.72rem; color: rgba(255,255,255,0.5);">
5582      <a href="https://www.sitiwebshop.it/?utm_source=sito-cliente&utm_medium=circulagris-universita-ch" target="_blank" rel="noopener noreferrer" style="color: rgba(255,255,255,0.8); text-decoration: underline;">Powered by Webshop Human AI Automation</a>
5583    </div>
5584  </footer>
5585
5586</div>
5587`}})),k2=()=>(x.useEffect(()=>{function e(){const t=document.querySelector(".cg-ws-inst-bar"),i=document.querySelector(".cg-ws-nav");t&&i&&(i.style.top=t.offsetHeight+"px")}return requestAnimationFrame(e),setTimeout(e,100),setTimeout(e,500),window.addEventListener("resize",e),window.addEventListener("load",e),()=>{window.removeEventListener("resize",e),window.removeEventListener("load",e)}},[]),I.jsx("div",{dangerouslySetInnerHTML:{__html:`
5588<style>
5589.cg-ws-root *, .cg-ws-root *::before, .cg-ws-root *::after { margin: 0; padding: 0; box-sizing: border-box; }
5590.cg-ws-root {
5591  font-family: Calibri, 'Segoe UI', sans-serif;
5592  color: #3a3a4a; line-height: 1.6; background: #FAF8F2;
5593  min-height: 100vh;
5594}
5595.cg-ws-root img { max-width: 100%; }
5596
5597/* ─── INSTITUTIONAL BAR ─── */
5598.cg-ws-inst-bar {
5599  position: fixed; top: 0; left: 0; right: 0; z-index: 101;
5600  background: #2A65AF;
5601  display: flex; align-items: center; justify-content: center;
5602  gap: 28px; padding: 14px 40px;
5603  border-bottom: 1px solid rgba(0,0,0,0.08);
5604  flex-wrap: wrap;
5605}
5606.cg-ws-inst-bar img { height: 64px; object-fit: contain; flex-shrink: 0; }
5607.cg-ws-inst-bar .cg-inst-divider {
5608  width: 1px; height: 48px; background: rgba(255,255,255,0.3); flex-shrink: 0;
5609}
5610
5611/* ─── NAV ─── */
5612.cg-ws-nav {
5613  position: fixed; top: 92px; left: 0; right: 0; z-index: 100;
5614  background: rgba(255,255,255,0.92);
5615  backdrop-filter: blur(16px);
5616  padding: 18px 60px;
5617  display: flex; align-items: center; justify-content: space-between;
5618  border-bottom: 1px solid rgba(0,0,0,0.06);
5619  box-shadow: 0 2px 20px rgba(0,0,0,0.04);
5620}
5621.cg-ws-nav-logo { display: flex; align-items: center; }
5622.cg-ws-nav-logo img { height: 56px; object-fit: contain; margin-right: 16px; }
5623.cg-ws-nav-links { display: flex; gap: 32px; list-style: none; }
5624.cg-ws-nav-links a {
5625  color: #555; text-decoration: none; font-size: 0.82rem;
5626  font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase;
5627  transition: color 0.3s; position: relative; cursor: pointer;
5628}
5629.cg-ws-nav-links a:hover { color: #8B7535; }
5630.cg-ws-nav-links a::after {
5631  content:''; position: absolute; bottom: -6px; left: 0; width: 0; height: 2px;
5632  background: #8B7535; transition: width 0.3s;
5633}
5634.cg-ws-nav-links a:hover::after { width: 100%; }
5635.cg-ws-nav-links a.active { color: #8B7535; }
5636.cg-ws-nav-links a.active::after { width: 100%; }
5637
5638/* ─── BURGER ─── */
5639.cg-ws-burger {
5640  display: none; flex-direction: column; gap: 5px; cursor: pointer;
5641  padding: 8px; z-index: 200;
5642}
5643.cg-ws-burger span {
5644  display: block; width: 24px; height: 2px; background: #3a3a4a;
5645  transition: all 0.3s; border-radius: 2px;
5646}
5647.cg-ws-mobile-menu {
5648  display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0;
5649  background: #FAF8F2; z-index: 190;
5650  flex-direction: column; align-items: center; justify-content: center;
5651  gap: 24px; list-style: none; overflow: hidden;
5652}
5653.cg-ws-mobile-menu.open { display: flex; }
5654.cg-ws-mobile-menu a {
5655  color: #3a3a4a; text-decoration: none; font-size: 1.1rem;
5656  font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
5657  font-family: Calibri, 'Segoe UI', sans-serif; cursor: pointer;
5658  transition: color 0.3s;
5659}
5660.cg-ws-mobile-menu a:hover { color: #8B7535; }
5661.cg-ws-mobile-close {
5662  position: absolute; top: 20px; right: 20px;
5663  width: 40px; height: 40px; cursor: pointer;
5664  display: flex; align-items: center; justify-content: center;
5665  background: none; border: none; z-index: 200;
5666}
5667.cg-ws-mobile-close::before, .cg-ws-mobile-close::after {
5668  content: ''; position: absolute;
5669  width: 24px; height: 2px; background: #3a3a4a; border-radius: 2px;
5670}
5671.cg-ws-mobile-close::before { transform: rotate(45deg); }
5672.cg-ws-mobile-close::after { transform: rotate(-45deg); }
5673
5674/* ─── HEADER ─── */
5675.cg-ws-header {
5676  background: #2A65AF;
5677  padding: 200px 60px 60px; text-align: center;
5678}
5679.cg-ws-header h1 {
5680  font-family: Calibri, 'Segoe UI', sans-serif;
5681  font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 800;
5682  color: #fff; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 12px;
5683}
5684.cg-ws-header p {
5685  font-size: 1rem; color: rgba(255,255,255,0.7); max-width: 650px; margin: 0 auto;
5686}
5687
5688/* ─── CONTENT ─── */
5689.cg-ws-section {
5690  max-width: 1100px; margin: 0 auto; padding: 60px 40px;
5691}
5692
5693/* ─── WORKSHOP CARD ─── */
5694.cg-ws-card {
5695  background: #fff; border-radius: 16px; overflow: hidden;
5696  border: 1px solid rgba(0,0,0,0.06);
5697  margin-bottom: 48px;
5698  box-shadow: 0 4px 24px rgba(0,0,0,0.05);
5699  transition: all 0.3s;
5700}
5701.cg-ws-card:hover { box-shadow: 0 8px 32px rgba(0,0,0,0.08); }
5702.cg-ws-card-top {
5703  display: flex; gap: 0;
5704}
5705.cg-ws-card-poster {
5706  flex: 0 0 380px; max-width: 380px;
5707  background: #f5f3ed; display: flex; flex-direction: column; gap: 0;
5708  align-self: stretch;
5709}
5710.cg-ws-card-poster img {
5711  width: 100%; height: 100%; object-fit: cover; display: block;
5712}
5713.cg-ws-card-body {
5714  flex: 1; padding: 32px 36px;
5715}
5716.cg-ws-card-uni {
5717  display: flex; align-items: center; gap: 12px; margin-bottom: 16px;
5718}
5719.cg-ws-card-uni img { height: 40px; border-radius: 50%; }
5720.cg-ws-card-uni span {
5721  font-size: 0.78rem; color: #8B7535; font-weight: 700;
5722  letter-spacing: 1px; text-transform: uppercase;
5723}
5724.cg-ws-card-title {
5725  font-size: 1.2rem; font-weight: 800; color: #1a1a2e;
5726  line-height: 1.4; margin-bottom: 12px;
5727}
5728.cg-ws-card-meta {
5729  display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 16px;
5730}
5731.cg-ws-card-meta-item {
5732  display: flex; align-items: center; gap: 6px;
5733  font-size: 0.82rem; color: #777; font-weight: 600;
5734}
5735.cg-ws-card-meta-item svg { width: 16px; height: 16px; color: #8B7535; }
5736.cg-ws-card-desc {
5737  font-size: 0.88rem; color: #555; line-height: 1.7;
5738}
5739.cg-ws-card-divider {
5740  width: 40px; height: 3px; background: linear-gradient(90deg, #8B7535, #8E4585);
5741  margin: 16px 0; border-radius: 2px;
5742}
5743.cg-ws-card-badge {
5744  display: inline-block; background: #8B7535; color: #fff;
5745  font-size: 0.7rem; font-weight: 700; padding: 3px 12px;
5746  border-radius: 20px; letter-spacing: 0.5px; text-transform: uppercase;
5747  margin-bottom: 12px;
5748}
5749
5750/* ─── DOWNLOAD BTN ─── */
5751.cg-ws-download-btn {
5752  display: inline-flex; align-items: center; gap: 8px;
5753  margin-top: 20px; padding: 12px 24px;
5754  background: #8B7535; color: #fff;
5755  font-weight: 700; font-size: 0.82rem;
5756  border-radius: 6px; text-decoration: none;
5757  letter-spacing: 1px; text-transform: uppercase;
5758  transition: all 0.3s; border: none; cursor: pointer;
5759}
5760.cg-ws-download-btn:hover { background: #756228; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(139,117,53,0.25); }
5761.cg-ws-download-btn svg { width: 18px; height: 18px; }
5762
5763/* ─── PROGRAM ─── */
5764.cg-ws-program { margin-top: 20px; }
5765.cg-ws-program-title {
5766  font-size: 0.82rem; font-weight: 700; color: #8B7535;
5767  letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 16px;
5768}
5769.cg-ws-program-item {
5770  display: flex; gap: 16px; padding: 10px 0;
5771  border-bottom: 1px solid rgba(0,0,0,0.04);
5772}
5773.cg-ws-program-time {
5774  flex-shrink: 0; width: 60px;
5775  font-size: 0.82rem; font-weight: 700; color: #8B7535;
5776}
5777.cg-ws-program-content { flex: 1; }
5778.cg-ws-program-content strong {
5779  display: block; font-size: 0.85rem; color: #1a1a2e; margin-bottom: 2px;
5780}
5781.cg-ws-program-content span {
5782  font-size: 0.8rem; color: #777; line-height: 1.5;
5783}
5784
5785/* ─── FOOTER ─── */
5786.cg-ws-footer {
5787  background: #2A65AF; color: rgba(255,255,255,0.6);
5788  padding: 40px 60px; text-align: center; font-size: 0.8rem;
5789}
5790.cg-ws-footer-logos {
5791  display: flex; align-items: center; justify-content: center;
5792  gap: 24px; margin-bottom: 20px; flex-wrap: wrap;
5793}
5794.cg-ws-footer-logos img { height: 40px; object-fit: contain; }
5795
5796@media (max-width: 900px) {
5797  .cg-ws-hide-mobile { display: none !important; }
5798  .cg-ws-nav-links { display: none; }
5799  .cg-ws-burger { display: flex; }
5800  .cg-ws-inst-bar { padding: 10px 20px; gap: 14px; flex-wrap: wrap; }
5801  .cg-ws-inst-bar img { height: 44px; }
5802  .cg-ws-inst-bar .cg-inst-divider { height: 32px; }
5803  .cg-ws-card-top { flex-direction: column; }
5804  .cg-ws-card-poster { flex: none; max-width: 100%; max-height: 400px; }
5805}
5806@media (max-width: 640px) {
5807  .cg-ws-header { padding: 220px 10px 40px; }
5808  .cg-ws-section { padding: 40px 10px; }
5809  .cg-ws-inst-bar { padding: 8px 6px; gap: 8px; justify-content: space-between; flex-wrap: nowrap; }
5810  .cg-ws-inst-bar img { height: 32px !important; flex-shrink: 1; min-width: 0; object-fit: contain; }
5811  .cg-ws-inst-bar .cg-logo-italiadomani { height: 58px !important; }
5812  .cg-ws-inst-bar .cg-inst-divider { display: flex; height: 28px; background: rgba(255,255,255,0.3); width: 1px; flex-shrink: 0; }
5813  .cg-ws-nav { top: auto; padding: 12px 10px; }
5814  .cg-ws-card-body { padding: 20px 10px; text-align: center; }
5815  .cg-ws-card-title { font-size: 1rem; text-align: center; }
5816  .cg-ws-card-desc { font-size: 0.82rem; text-align: center; }
5817  .cg-ws-card-meta { justify-content: center; }
5818  .cg-ws-card-uni { justify-content: center; text-align: center; }
5819  .cg-ws-card-divider { margin-left: auto; margin-right: auto; }
5820  .cg-ws-download-btn { width: 100%; justify-content: center; }
5821  .cg-ws-footer { padding: 30px 10px; }
5822  .cg-ws-footer-logos { gap: 12px; }
5823  .cg-ws-footer-logos img { height: 32px; }
5824}
5825</style>
5826
5827<div class="cg-ws-root">
5828
5829  <!-- INSTITUTIONAL BAR -->
5830  <div class="cg-ws-inst-bar">
5831    <img src="/images/footer-eu-white.png" alt="Finanziato dall'Unione europea - NextGenerationEU" style="height:56px;" />
5832    <div class="cg-inst-divider"></div>
5833    <img src="/images/footer-mur-white.png" alt="MUR" style="height:42px;" />
5834    <div class="cg-inst-divider"></div>
5835    <img src="/images/footer-italiadomani-white.png" alt="Italia Domani" style="height:72px;" class="cg-logo-italiadomani" />
5836    <div class="cg-inst-divider cg-ws-hide-mobile"></div>
5837    <img src="/images/logo-uda.png" alt="UdA" style="height:80px;" class="cg-ws-hide-mobile" />
5838    <img src="/images/logo-unime-white.png" alt="UNIME" style="height:76px;" class="cg-ws-hide-mobile" />
5839    <img src="/images/logo-uniba.png" alt="UNIBA" style="height:80px;" class="cg-ws-hide-mobile" />
5840  </div>
5841
5842  <!-- NAV -->
5843  <nav class="cg-ws-nav">
5844    <a class="cg-ws-nav-logo" href="https://www.circulagris.com/home-ita/" target="_top"><img src="/images/logo-circulagris.png" alt="CIRCULAGRIS" /></a>
5845    <ul class="cg-ws-nav-links">
5846      <li><a href="https://www.circulagris.com/home-ita/" target="_top">Home</a></li>
5847      <li><a href="https://www.circulagris.com/ricercatori/" target="_top">Ricercatori</a></li>
5848      <li><a href="https://www.circulagris.com/conferenze/" target="_top">Convegni</a></li>
5849      <li><a href="https://www.circulagris.com/workshops-ita/" target="_top" class="active">Workshop</a></li>
5850      <li><a href="https://www.circulagris.com/pubblicazioni/" target="_top">Pubblicazioni</a></li>
5851    <li class="cg-lang-switch"><a href="https://www.circulagris.com/workshops/" target="_top" style="background:#8B7535;color:#fff !important;padding:6px 14px;border-radius:20px;font-weight:700;cursor:pointer;">EN</a></li>
5852    </ul>
5853    <div class="cg-ws-burger" onclick="(function(){var m=document.getElementById('cgWsMobileMenu');m.classList.toggle('open')})()">
5854      <span></span><span></span><span></span>
5855    </div>
5856  </nav>
5857
5858  <!-- MOBILE MENU -->
5859  <ul class="cg-ws-mobile-menu" id="cgWsMobileMenu">
5860    <button class="cg-ws-mobile-close" onclick="document.getElementById('cgWsMobileMenu').classList.remove('open')" aria-label="Chiudi"></button>
5861    <li><a href="https://www.circulagris.com/home-ita/" target="_top">Home</a></li>
5862    <li><a href="https://www.circulagris.com/ricercatori/" target="_top">Ricercatori</a></li>
5863    <li><a href="https://www.circulagris.com/conferenze/" target="_top">Convegni</a></li>
5864    <li><a href="https://www.circulagris.com/workshops-ita/" target="_top">Workshop</a></li>
5865    <li><a href="https://www.circulagris.com/pubblicazioni/" target="_top">Pubblicazioni</a></li>
5866    <li class="cg-lang-switch"><a href="https://www.circulagris.com/workshops/" target="_top" style="background:#8B7535;color:#fff !important;padding:6px 14px;border-radius:20px;font-weight:700;cursor:pointer;">EN</a></li>
5867  </ul>
5868
5869  <div class="cg-ws-header">
5870    <h1>Workshop</h1>
5871    <p>Workshop organizzati nell'ambito del progetto CIRCULAGRIS per promuovere i risultati della ricerca e il coinvolgimento degli stakeholder.</p>
5872  </div>
5873
5874  <div class="cg-ws-section">
5875
5876    <!-- WORKSHOP: PESCARA (Conclusivo) -->
5877    <div class="cg-ws-card">
5878      <div class="cg-ws-card-top">
5879        <div class="cg-ws-card-poster">
5880          <img src="/images/workshop-pe-poster.jpg" alt="Locandina Workshop Conclusivo Pescara" />
5881        </div>
5882        <div class="cg-ws-card-body">
5883          <div class="cg-ws-card-uni">
5884            <img src="/images/logo-uda.png" alt="UdA" />
5885            <span>Università degli Studi "G. d'Annunzio" Chieti-Pescara</span>
5886          </div>
5887          <span class="cg-ws-card-badge">Workshop Conclusivo</span>
5888          <div class="cg-ws-card-title">Sistemi Agro-Alimentari Circolari e Sostenibili — Workshop Conclusivo Progetto CIRCULAGRIS</div>
5889          <div style="font-size: 0.95rem; color: #666; font-style: italic; margin-bottom: 12px;">Con evidenze e riflessioni su vitivinicolo</div>
5890          <div class="cg-ws-card-meta">
5891            <div class="cg-ws-card-meta-item">
5892              <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5" /></svg>
5893              12 febbraio 2026
5894            </div>
5895            <div class="cg-ws-card-meta-item">
5896              <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 6v6h4.5m4.5 0a9 9 0 11-18 0 9 9 0 0118 0z" /></svg>
5897              9:00 – 13:00
5898            </div>
5899            <div class="cg-ws-card-meta-item">
5900              <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M15 10.5a3 3 0 11-6 0 3 3 0 016 0z" /><path stroke-linecap="round" stroke-linejoin="round" d="M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1115 0z" /></svg>
5901              Aula De Tommaso, Viale Pindaro 42, Pescara
5902            </div>
5903          </div>
5904          <div class="cg-ws-card-divider"></div>
5905          <p class="cg-ws-card-desc">
5906            L'evento si è svolto in modalità ibrida, consentendo la partecipazione sia in presenza sia da remoto. Il workshop ha coinvolto imprese, associazioni di categoria e stakeholder del settore vitivinicolo, registrando una significativa partecipazione di studenti iscritti ai corsi di studio dell'Ateneo. Sono stati presentati anche i risultati finali del progetto.
5907          </p>
5908        </div>
5909      </div>
5910    </div>
5911
5912    <!-- WORKSHOP: UNIBA Taranto -->
5913    <div class="cg-ws-card">
5914      <div class="cg-ws-card-top">
5915        <div class="cg-ws-card-poster">
5916          <img src="/images/workshop-uniba-taranto.jpg" alt="Locandina Workshop UNIBA Taranto" />
5917        </div>
5918        <div class="cg-ws-card-body">
5919          <div class="cg-ws-card-uni">
5920            <img src="/images/logo-uniba-color.png" alt="UNIBA" />
5921            <span>Università degli Studi di Bari Aldo Moro</span>
5922          </div>
5923          <span class="cg-ws-card-badge">Workshop</span>
5924          <div class="cg-ws-card-title">Economia circolare nel settore agroalimentare: migliori pratiche e metriche di sostenibilità</div>
5925          <div class="cg-ws-card-meta">
5926            <div class="cg-ws-card-meta-item">
5927              <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5" /></svg>
5928              30 gennaio 2026
5929            </div>
5930            <div class="cg-ws-card-meta-item">
5931              <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M15 10.5a3 3 0 11-6 0 3 3 0 016 0z" /><path stroke-linecap="round" stroke-linejoin="round" d="M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1115 0z" /></svg>
5932              Dipartimento Jonico, Taranto
5933            </div>
5934          </div>
5935          <div class="cg-ws-card-divider"></div>
5936          <p class="cg-ws-card-desc">
5937            Il workshop ha affrontato i principali temi dell'economia circolare nel settore agroalimentare, con particolare attenzione alle metriche, agli indicatori e agli strumenti per la valutazione della sostenibilità e della circolarità. Nella sessione di apertura sono stati presentati i risultati del progetto CIRCULAGRIS, incentrato sull'analisi e sulla promozione di modelli circolari nelle filiere della pasta e del pane, del vino e dell'olio d'oliva.
5938          </p>
5939          <br/>
5940          <p class="cg-ws-card-desc">
5941            Un contributo specifico è stato offerto dal Ministero dell'Ambiente e della Sicurezza Energetica (MASE), che ha presentato il "Made Green in Italy" finalizzato alla certificazione e alla valutazione delle prestazioni ambientali dei prodotti. Il workshop si è concluso con una tavola rotonda che ha coinvolto rappresentanti del mondo imprenditoriale, favorendo il dialogo tra università e imprese sulle buone pratiche in materia di circolarità e sostenibilità.
5942          </p>
5943        </div>
5944      </div>
5945    </div>
5946
5947    <!-- WORKSHOP: UNIME Messina -->
5948    <div class="cg-ws-card">
5949      <div class="cg-ws-card-top">
5950        <div class="cg-ws-card-poster">
5951          <img src="/images/workshops/locandina-messina.jpg" alt="Locandina Workshop UNIME Messina" />
5952        </div>
5953        <div class="cg-ws-card-body">
5954          <div class="cg-ws-card-uni">
5955            <img src="/images/logo-unime-white.png" alt="UNIME" style="filter: none; background: #fff; border-radius: 50%; padding: 4px; height: 40px;" />
5956            <span>Università degli Studi di Messina</span>
5957          </div>
5958          <span class="cg-ws-card-badge">Workshop</span>
5959          <div class="cg-ws-card-title">Circular Economy in the Agri-food Sector: Best Practices and Sustainability Metrics</div>
5960          <div class="cg-ws-card-meta">
5961            <div class="cg-ws-card-meta-item">
5962              <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5" /></svg>
5963              10 dicembre 2025
5964            </div>
5965            <div class="cg-ws-card-meta-item">
5966              <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 6v6h4.5m4.5 0a9 9 0 11-18 0 9 9 0 0118 0z" /></svg>
5967              9:00 – 13:00
5968            </div>
5969            <div class="cg-ws-card-meta-item">
5970              <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M15 10.5a3 3 0 11-6 0 3 3 0 016 0z" /><path stroke-linecap="round" stroke-linejoin="round" d="M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1115 0z" /></svg>
5971              Aula Magna, Dipartimento di Economia, Università di Messina
5972            </div>
5973          </div>
5974          <div class="cg-ws-card-divider"></div>
5975          <p class="cg-ws-card-desc">
5976            L'Aula Magna del Dipartimento di Economia dell'Università degli Studi di Messina ha ospitato il workshop "Circular Economy in the Agri-food Sector: Best Practices and Sustainability Metrics", organizzato nell'ambito del progetto PRIN CIRCULAGRIS.
5977          </p>
5978          <br/>
5979          <p class="cg-ws-card-desc">
5980            Dopo i saluti istituzionali della Rettrice, Prof.ssa Giovanna Spatari, del Prof. Carlo Vermiglio (in rappresentanza del Direttore del Dipartimento di Economia, Prof. Gustavo Barresi) e del Presidente di Sicindustria Messina, Dott. Pietro Franza, hanno preso parte ai lavori esperti accademici e rappresentanti del mondo imprenditoriale. Le conclusioni sono state affidate alla Prof.ssa Roberta Salomone, Delegata del Rettore alla Sostenibilità e Coordinatrice scientifica dell'Unità di Ricerca UniME del progetto CIRCULAGRIS.
5981          </p>
5982          <br/>
5983          <p class="cg-ws-card-desc">
5984            L'evento ha rappresentato un'importante occasione di confronto sui modelli circolari e sostenibili nel settore agroalimentare, con particolare attenzione alle metriche di valutazione e alle esperienze innovative.
5985          </p>
5986        </div>
5987      </div>
5988    </div>
5989
5990  </div>
5991
5992  <!-- FOOTER -->
5993  <footer class="cg-ws-footer">
5994    <div class="cg-ws-footer-logos">
5995      <img src="/images/logo-circulagris.png" alt="CIRCULAGRIS" style="height: 50px; filter: brightness(0) invert(1);" />
5996    </div>
5997    <div class="cg-ws-footer-logos" style="margin-top: 16px;">
5998      <img src="/images/footer-eu-white.png" alt="Finanziato dall'Unione europea - NextGenerationEU" style="height:56px;" />
5999      <img src="/images/footer-mur-white.png" alt="MUR" style="height:42px;" />
6000      <img src="/images/footer-italiadomani-white.png" alt="Italia Domani" style="height:72px;" />
6001      <img src="/images/logo-uda.png" alt="UdA" style="height:80px;" />
6002      <img src="/images/logo-unime-white.png" alt="UNIME" style="height:76px;" />
6003      <img src="/images/logo-uniba.png" alt="UNIBA" style="height:80px;" />
6004    </div>
6005    <p style="margin-top: 20px;">&copy; 2024 CIRCULAGRIS &mdash; PRIN 2022 | <a href="https://www.unich.it" target="_blank" style="color:rgba(255,255,255,0.7);text-decoration:none;">Universit&agrave; degli Studi "G. d'Annunzio" Chieti-Pescara</a></p>
6006    <div style="max-width:800px;margin:16px auto 0;font-size:0.72rem;color:rgba(255,255,255,0.35);line-height:1.6;">
6007      Progetto di ricerca "Towards circular and sustainable agri-food systems: metrics for assessment (CIRCULAGRIS)" PRIN2022 (Progetti di Ricerca di Interesse Nazionale) finanziato dall'Unione Europea - Next Generation EU, Missione 4, Componente 2, CUP D53D23011220006.
6008    </div>
6009    <div style="margin-top: 16px; font-size: 0.72rem; color: rgba(255,255,255,0.5);">
6010      <a href="https://www.sitiwebshop.it/?utm_source=sito-cliente&utm_medium=circulagris-universita-ch" target="_blank" rel="noopener noreferrer" style="color: rgba(255,255,255,0.8); text-decoration: underline;">Powered by Webshop Human AI Automation</a>
6011    </div>
6012  </footer>
6013
6014</div>
6015`}})),E2=()=>{const e=ud();return x.useEffect(()=>{console.error("404 Error: User attempted to access non-existent route:",e.pathname)},[e.pathname]),I.jsx("div",{className:"flex min-h-screen items-center justify-center bg-muted",children:I.jsxs("div",{className:"text-center",children:[I.jsx("h1",{className:"mb-4 text-4xl font-bold",children:"404"}),I.jsx("p",{className:"mb-4 text-xl text-muted-foreground",children:"Oops! Page not found"}),I.jsx("a",{href:"/",className:"text-primary underline hover:text-primary/90",children:"Return to Home"})]})})},R2=new w1,z2=()=>I.jsx(C1,{client:R2,children:I.jsxs(Xw,{children:[I.jsx(My,{}),I.jsx(pb,{}),I.jsx(h2,{children:I.jsxs(g2,{children:[I.jsx(et,{path:"/",element:I.jsx(v2,{})}),I.jsx(et,{path:"/researchers",element:I.jsx(x2,{})}),I.jsx(et,{path:"/conferences",element:I.jsx(y2,{})}),I.jsx(et,{path:"/publications",element:I.jsx(b2,{})}),I.jsx(et,{path:"/workshops",element:I.jsx(w2,{})}),I.jsx(et,{path:"/it",element:I.jsx(S2,{})}),I.jsx(et,{path:"/it/researchers",element:I.jsx(C2,{})}),I.jsx(et,{path:"/it/conferences",element:I.jsx(A2,{})}),I.jsx(et,{path:"/it/publications",element:I.jsx(I2,{})}),I.jsx(et,{path:"/it/workshops",element:I.jsx(k2,{})}),I.jsx(et,{path:"*",element:I.jsx(E2,{})})]})})]})});Of(document.getElementById("root")).render(I.jsx(z2,{}));

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.