igiveup 0.1.4 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cli.js +1 -1
- package/dist/404.html +1 -1
- package/dist/__next.__PAGE__.txt +4 -4
- package/dist/__next._full.txt +14 -14
- package/dist/__next._head.txt +5 -7
- package/dist/__next._index.txt +6 -6
- package/dist/__next._tree.txt +2 -2
- package/dist/_next/static/chunks/04bbf605c3700867.js +1 -0
- package/dist/_next/static/chunks/1cef3016144862be.js +376 -0
- package/dist/_next/static/chunks/1efc01f481163e91.js +119 -0
- package/dist/_next/static/chunks/{dc366463edc1a494.js → 24a51584ddecda70.js} +1 -1
- package/dist/_next/static/chunks/30354d30990146bb.js +1 -0
- package/dist/_next/static/chunks/3e42928c4dc2d62f.js +5 -0
- package/dist/_next/static/chunks/469a4c9638da951a.css +1 -0
- package/dist/_next/static/chunks/{89bc7afe2c734bd3.js → 483a12865e0bba97.js} +1 -1
- package/dist/_next/static/chunks/5ebc2a48b7ca078f.js +1 -0
- package/dist/_next/static/chunks/a6dad97d9634a72d.js.map +1 -0
- package/dist/_next/static/chunks/c1ac1f762ec479f5.js +1 -0
- package/dist/_next/static/chunks/cdf507442310f591.js +1 -0
- package/dist/_next/static/chunks/{ff0c2750fd49f4ea.js → e26fcdfd9c1534c4.js} +1 -1
- package/dist/_next/static/chunks/turbopack-7b159edc0c7126c8.js +4 -0
- package/dist/_not-found/__next._full.txt +16 -16
- package/dist/_not-found/__next._head.txt +5 -7
- package/dist/_not-found/__next._index.txt +6 -6
- package/dist/_not-found/__next._not-found.__PAGE__.txt +2 -2
- package/dist/_not-found/__next._not-found.txt +3 -3
- package/dist/_not-found/__next._tree.txt +2 -2
- package/dist/_not-found.html +1 -1
- package/dist/_not-found.txt +16 -16
- package/dist/index.html +1 -1
- package/dist/index.txt +14 -14
- package/dist/manifest.webmanifest +1 -1
- package/dist/sitemap.xml +1 -1
- package/package.json +30 -21
- package/dist/_next/static/chunks/23efa3561aec501d.js +0 -1
- package/dist/_next/static/chunks/6410fba97b570c28.js +0 -342
- package/dist/_next/static/chunks/71718d23f8e494fe.js +0 -13
- package/dist/_next/static/chunks/7715b02b19bcf642.js +0 -1
- package/dist/_next/static/chunks/8b1c561b940ebca7.css +0 -1
- package/dist/_next/static/chunks/a8d93294ae937c94.js +0 -4
- package/dist/_next/static/chunks/ab73b4c4bccc3b0a.js +0 -1
- package/dist/_next/static/chunks/afe4b73b6f0c57df.js +0 -2
- package/dist/_next/static/chunks/e031ffe7bd8babaa.js +0 -1
- package/dist/_next/static/chunks/turbopack-51dd591fe12787c1.js +0 -3
- /package/dist/_next/static/{jk33PhUVfNqpboKg_ZfFi → JWenEG9mAVBaGVUjBEBPo}/_buildManifest.js +0 -0
- /package/dist/_next/static/{jk33PhUVfNqpboKg_ZfFi → JWenEG9mAVBaGVUjBEBPo}/_clientMiddlewareManifest.json +0 -0
- /package/dist/_next/static/{jk33PhUVfNqpboKg_ZfFi → JWenEG9mAVBaGVUjBEBPo}/_ssgManifest.js +0 -0
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,3541,(e,t,r)=>{},50290,(e,t,r)=>{var s=e.i(97803);e.r(3541);var a=e.r(27946),l=a&&"object"==typeof a&&"default"in a?a:{default:a},i=void 0!==s.default&&s.default.env&&!0,n=function(e){return"[object String]"===Object.prototype.toString.call(e)},o=function(){function e(e){var t=void 0===e?{}:e,r=t.name,s=void 0===r?"stylesheet":r,a=t.optimizeForSpeed,l=void 0===a?i:a;d(n(s),"`name` must be a string"),this._name=s,this._deletedRulePlaceholder="#"+s+"-deleted-rule____{}",d("boolean"==typeof l,"`optimizeForSpeed` must be a boolean"),this._optimizeForSpeed=l,this._serverSheet=void 0,this._tags=[],this._injected=!1,this._rulesCount=0;var o="undefined"!=typeof window&&document.querySelector('meta[property="csp-nonce"]');this._nonce=o?o.getAttribute("content"):null}var t,r=e.prototype;return r.setOptimizeForSpeed=function(e){d("boolean"==typeof e,"`setOptimizeForSpeed` accepts a boolean"),d(0===this._rulesCount,"optimizeForSpeed cannot be when rules have already been inserted"),this.flush(),this._optimizeForSpeed=e,this.inject()},r.isOptimizeForSpeed=function(){return this._optimizeForSpeed},r.inject=function(){var e=this;if(d(!this._injected,"sheet already injected"),this._injected=!0,"undefined"!=typeof window&&this._optimizeForSpeed){this._tags[0]=this.makeStyleTag(this._name),this._optimizeForSpeed="insertRule"in this.getSheet(),this._optimizeForSpeed||(i||console.warn("StyleSheet: optimizeForSpeed mode not supported falling back to standard mode."),this.flush(),this._injected=!0);return}this._serverSheet={cssRules:[],insertRule:function(t,r){return"number"==typeof r?e._serverSheet.cssRules[r]={cssText:t}:e._serverSheet.cssRules.push({cssText:t}),r},deleteRule:function(t){e._serverSheet.cssRules[t]=null}}},r.getSheetForTag=function(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]},r.getSheet=function(){return this.getSheetForTag(this._tags[this._tags.length-1])},r.insertRule=function(e,t){if(d(n(e),"`insertRule` accepts only strings"),"undefined"==typeof window)return"number"!=typeof t&&(t=this._serverSheet.cssRules.length),this._serverSheet.insertRule(e,t),this._rulesCount++;if(this._optimizeForSpeed){var r=this.getSheet();"number"!=typeof t&&(t=r.cssRules.length);try{r.insertRule(e,t)}catch(t){return i||console.warn("StyleSheet: illegal rule: \n\n"+e+"\n\nSee https://stackoverflow.com/q/20007992 for more info"),-1}}else{var s=this._tags[t];this._tags.push(this.makeStyleTag(this._name,e,s))}return this._rulesCount++},r.replaceRule=function(e,t){if(this._optimizeForSpeed||"undefined"==typeof window){var r="undefined"!=typeof window?this.getSheet():this._serverSheet;if(t.trim()||(t=this._deletedRulePlaceholder),!r.cssRules[e])return e;r.deleteRule(e);try{r.insertRule(t,e)}catch(s){i||console.warn("StyleSheet: illegal rule: \n\n"+t+"\n\nSee https://stackoverflow.com/q/20007992 for more info"),r.insertRule(this._deletedRulePlaceholder,e)}}else{var s=this._tags[e];d(s,"old rule at index `"+e+"` not found"),s.textContent=t}return e},r.deleteRule=function(e){if("undefined"==typeof window)return void this._serverSheet.deleteRule(e);if(this._optimizeForSpeed)this.replaceRule(e,"");else{var t=this._tags[e];d(t,"rule at index `"+e+"` not found"),t.parentNode.removeChild(t),this._tags[e]=null}},r.flush=function(){this._injected=!1,this._rulesCount=0,"undefined"!=typeof window?(this._tags.forEach(function(e){return e&&e.parentNode.removeChild(e)}),this._tags=[]):this._serverSheet.cssRules=[]},r.cssRules=function(){var e=this;return"undefined"==typeof window?this._serverSheet.cssRules:this._tags.reduce(function(t,r){return r?t=t.concat(Array.prototype.map.call(e.getSheetForTag(r).cssRules,function(t){return t.cssText===e._deletedRulePlaceholder?null:t})):t.push(null),t},[])},r.makeStyleTag=function(e,t,r){t&&d(n(t),"makeStyleTag accepts only strings as second parameter");var s=document.createElement("style");this._nonce&&s.setAttribute("nonce",this._nonce),s.type="text/css",s.setAttribute("data-"+e,""),t&&s.appendChild(document.createTextNode(t));var a=document.head||document.getElementsByTagName("head")[0];return r?a.insertBefore(s,r):a.appendChild(s),s},t=[{key:"length",get:function(){return this._rulesCount}}],function(e,t){for(var r=0;r<t.length;r++){var s=t[r];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}(e.prototype,t),e}();function d(e,t){if(!e)throw Error("StyleSheet: "+t+".")}var c=function(e){for(var t=5381,r=e.length;r;)t=33*t^e.charCodeAt(--r);return t>>>0},u={};function p(e,t){if(!t)return"jsx-"+e;var r=String(t),s=e+r;return u[s]||(u[s]="jsx-"+c(e+"-"+r)),u[s]}function m(e,t){"undefined"==typeof window&&(t=t.replace(/\/style/gi,"\\/style"));var r=e+t;return u[r]||(u[r]=t.replace(/__jsx-style-dynamic-selector/g,e)),u[r]}var h=function(){function e(e){var t=void 0===e?{}:e,r=t.styleSheet,s=void 0===r?null:r,a=t.optimizeForSpeed,l=void 0!==a&&a;this._sheet=s||new o({name:"styled-jsx",optimizeForSpeed:l}),this._sheet.inject(),s&&"boolean"==typeof l&&(this._sheet.setOptimizeForSpeed(l),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),this._fromServer=void 0,this._indices={},this._instancesCounts={}}var t=e.prototype;return t.add=function(e){var t=this;void 0===this._optimizeForSpeed&&(this._optimizeForSpeed=Array.isArray(e.children),this._sheet.setOptimizeForSpeed(this._optimizeForSpeed),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),"undefined"==typeof window||this._fromServer||(this._fromServer=this.selectFromServer(),this._instancesCounts=Object.keys(this._fromServer).reduce(function(e,t){return e[t]=0,e},{}));var r=this.getIdAndRules(e),s=r.styleId,a=r.rules;if(s in this._instancesCounts){this._instancesCounts[s]+=1;return}var l=a.map(function(e){return t._sheet.insertRule(e)}).filter(function(e){return -1!==e});this._indices[s]=l,this._instancesCounts[s]=1},t.remove=function(e){var t=this,r=this.getIdAndRules(e).styleId;if(function(e,t){if(!e)throw Error("StyleSheetRegistry: "+t+".")}(r in this._instancesCounts,"styleId: `"+r+"` not found"),this._instancesCounts[r]-=1,this._instancesCounts[r]<1){var s=this._fromServer&&this._fromServer[r];s?(s.parentNode.removeChild(s),delete this._fromServer[r]):(this._indices[r].forEach(function(e){return t._sheet.deleteRule(e)}),delete this._indices[r]),delete this._instancesCounts[r]}},t.update=function(e,t){this.add(t),this.remove(e)},t.flush=function(){this._sheet.flush(),this._sheet.inject(),this._fromServer=void 0,this._indices={},this._instancesCounts={}},t.cssRules=function(){var e=this,t=this._fromServer?Object.keys(this._fromServer).map(function(t){return[t,e._fromServer[t]]}):[],r=this._sheet.cssRules();return t.concat(Object.keys(this._indices).map(function(t){return[t,e._indices[t].map(function(e){return r[e].cssText}).join(e._optimizeForSpeed?"":"\n")]}).filter(function(e){return!!e[1]}))},t.styles=function(e){var t,r;return t=this.cssRules(),void 0===(r=e)&&(r={}),t.map(function(e){var t=e[0],s=e[1];return l.default.createElement("style",{id:"__"+t,key:"__"+t,nonce:r.nonce?r.nonce:void 0,dangerouslySetInnerHTML:{__html:s}})})},t.getIdAndRules=function(e){var t=e.children,r=e.dynamic,s=e.id;if(r){var a=p(s,r);return{styleId:a,rules:Array.isArray(t)?t.map(function(e){return m(a,e)}):[m(a,t)]}}return{styleId:p(s),rules:Array.isArray(t)?t:[t]}},t.selectFromServer=function(){return Array.prototype.slice.call(document.querySelectorAll('[id^="__jsx-"]')).reduce(function(e,t){return e[t.id.slice(2)]=t,e},{})},e}(),x=a.createContext(null);function f(){return new h}function g(){return a.useContext(x)}x.displayName="StyleSheetContext";var b=l.default.useInsertionEffect||l.default.useLayoutEffect,y="undefined"!=typeof window?f():void 0;function v(e){var t=y||g();return t&&("undefined"==typeof window?t.add(e):b(function(){return t.add(e),function(){t.remove(e)}},[e.id,String(e.dynamic)])),null}v.dynamic=function(e){return e.map(function(e){return p(e[0],e[1])}).join(" ")},r.StyleRegistry=function(e){var t=e.registry,r=e.children,s=a.useContext(x),i=a.useState(function(){return s||t||f()})[0];return l.default.createElement(x.Provider,{value:i},r)},r.createStyleRegistry=f,r.style=v,r.useStyleRegistry=g},83968,(e,t,r)=>{t.exports=e.r(50290).style},94506,(e,t,r)=>{"use strict";function s(e){let{widthInt:t,heightInt:r,blurWidth:s,blurHeight:a,blurDataURL:l,objectFit:i}=e,n=s?40*s:t,o=a?40*a:r,d=n&&o?`viewBox='0 0 ${n} ${o}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${d}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${d?"none":"contain"===i?"xMidYMid":"cover"===i?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${l}'/%3E%3C/svg%3E`}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return s}})},11811,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var s={VALID_LOADERS:function(){return l},imageConfigDefault:function(){return i}};for(var a in s)Object.defineProperty(r,a,{enumerable:!0,get:s[a]});let l=["default","imgix","cloudinary","akamai","custom"],i={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumRedirects:3,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1}},46883,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return o}}),e.r(69780);let s=e.r(94506),a=e.r(11811),l=["-moz-initial","fill","none","scale-down",void 0];function i(e){return void 0!==e.default}function n(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function o(e,t){var r;let o,d,c,{src:u,sizes:p,unoptimized:m=!1,priority:h=!1,preload:x=!1,loading:f,className:g,quality:b,width:y,height:v,fill:j=!1,style:w,overrideSrc:N,onLoad:S,onLoadingComplete:_,placeholder:E="empty",blurDataURL:k,fetchPriority:C,decoding:R="async",layout:T,objectFit:P,objectPosition:I,lazyBoundary:L,lazyRoot:A,...z}=e,{imgConf:O,showAltText:M,blurComplete:U,defaultLoader:F}=t,D=O||a.imageConfigDefault;if("allSizes"in D)o=D;else{let e=[...D.deviceSizes,...D.imageSizes].sort((e,t)=>e-t),t=D.deviceSizes.sort((e,t)=>e-t),r=D.qualities?.sort((e,t)=>e-t);o={...D,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===F)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let $=z.loader||F;delete z.loader,delete z.srcSet;let B="__next_img_default"in $;if(B){if("custom"===o.loader)throw Object.defineProperty(Error(`Image with src "${u}" is missing "loader" prop.
|
|
2
|
-
Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=$;$=t=>{let{config:r,...s}=t;return e(s)}}if(T){"fill"===T&&(j=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[T];e&&(w={...w,...e});let t={responsive:"100vw",fill:"100vw"}[T];t&&!p&&(p=t)}let K="",G=n(y),H=n(v);if((r=u)&&"object"==typeof r&&(i(r)||void 0!==r.src)){let e=i(u)?u.default:u;if(!e.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(e)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!e.height||!e.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(e)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(d=e.blurWidth,c=e.blurHeight,k=k||e.blurDataURL,K=e.src,!j)if(G||H){if(G&&!H){let t=G/e.width;H=Math.round(e.height*t)}else if(!G&&H){let t=H/e.height;G=Math.round(e.width*t)}}else G=e.width,H=e.height}let W=!h&&!x&&("lazy"===f||void 0===f);(!(u="string"==typeof u?u:K)||u.startsWith("data:")||u.startsWith("blob:"))&&(m=!0,W=!1),o.unoptimized&&(m=!0),B&&!o.dangerouslyAllowSVG&&u.split("?",1)[0].endsWith(".svg")&&(m=!0);let Y=n(b),q=Object.assign(j?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:P,objectPosition:I}:{},M?{}:{color:"transparent"},w),V=U||"empty"===E?null:"blur"===E?`url("data:image/svg+xml;charset=utf-8,${(0,s.getImageBlurSvg)({widthInt:G,heightInt:H,blurWidth:d,blurHeight:c,blurDataURL:k||"",objectFit:q.objectFit})}")`:`url("${E}")`,Z=l.includes(q.objectFit)?"fill"===q.objectFit?"100% 100%":"cover":q.objectFit,X=V?{backgroundSize:Z,backgroundPosition:q.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:V}:{},J=function(e){let{config:t,src:r,unoptimized:s,width:a,quality:l,sizes:i,loader:n}=e;if(s)return{src:r,srcSet:void 0,sizes:void 0};let{widths:o,kind:d}=function(e,t,r){let{deviceSizes:s,allSizes:a}=e;if(r){let e=/(^|\s)(1?\d?\d)vw/g,t=[];for(let s;s=e.exec(r);)t.push(parseInt(s[2]));if(t.length){let e=.01*Math.min(...t);return{widths:a.filter(t=>t>=s[0]*e),kind:"w"}}return{widths:a,kind:"w"}}return"number"!=typeof t?{widths:s,kind:"w"}:{widths:[...new Set([t,2*t].map(e=>a.find(t=>t>=e)||a[a.length-1]))],kind:"x"}}(t,a,i),c=o.length-1;return{sizes:i||"w"!==d?i:"100vw",srcSet:o.map((e,s)=>`${n({config:t,src:r,quality:l,width:e})} ${"w"===d?e:s+1}${d}`).join(", "),src:n({config:t,src:r,quality:l,width:o[c]})}}({config:o,src:u,unoptimized:m,width:G,quality:Y,sizes:p,loader:$}),Q=W?"lazy":f;return{props:{...z,loading:Q,fetchPriority:C,width:G,height:H,decoding:R,className:g,style:{...q,...X},sizes:J.sizes,srcSet:J.srcSet,src:N||J.src},meta:{unoptimized:m,preload:x||h,placeholder:E,fill:j}}}},61204,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return n}});let s=e.r(27946),a="undefined"==typeof window,l=a?()=>{}:s.useLayoutEffect,i=a?()=>{}:s.useEffect;function n(e){let{headManager:t,reduceComponentsToState:r}=e;function n(){if(t&&t.mountedInstances){let e=s.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(e))}}return a&&(t?.mountedInstances?.add(e.children),n()),l(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),l(()=>(t&&(t._pendingUpdate=n),()=>{t&&(t._pendingUpdate=n)})),i(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},30547,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var s={default:function(){return x},defaultHead:function(){return u}};for(var a in s)Object.defineProperty(r,a,{enumerable:!0,get:s[a]});let l=e.r(81258),i=e.r(44066),n=e.r(59031),o=i._(e.r(27946)),d=l._(e.r(61204)),c=e.r(28833);function u(){return[(0,n.jsx)("meta",{charSet:"utf-8"},"charset"),(0,n.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function p(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===o.default.Fragment?e.concat(o.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}e.r(69780);let m=["name","httpEquiv","charSet","itemProp"];function h(e){let t,r,s,a;return e.reduce(p,[]).reverse().concat(u().reverse()).filter((t=new Set,r=new Set,s=new Set,a={},e=>{let l=!0,i=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){i=!0;let r=e.key.slice(e.key.indexOf("$")+1);t.has(r)?l=!1:t.add(r)}switch(e.type){case"title":case"base":r.has(e.type)?l=!1:r.add(e.type);break;case"meta":for(let t=0,r=m.length;t<r;t++){let r=m[t];if(e.props.hasOwnProperty(r))if("charSet"===r)s.has(r)?l=!1:s.add(r);else{let t=e.props[r],s=a[r]||new Set;("name"!==r||!i)&&s.has(t)?l=!1:(s.add(t),a[r]=s)}}}return l})).reverse().map((e,t)=>{let r=e.key||t;return o.default.cloneElement(e,{key:r})})}let x=function(e){let{children:t}=e,r=(0,o.useContext)(c.HeadManagerContext);return(0,n.jsx)(d.default,{reduceComponentsToState:h,headManager:r,children:t})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},82075,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ImageConfigContext",{enumerable:!0,get:function(){return l}});let s=e.r(81258)._(e.r(27946)),a=e.r(11811),l=s.default.createContext(a.imageConfigDefault)},45766,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RouterContext",{enumerable:!0,get:function(){return s}});let s=e.r(81258)._(e.r(27946)).default.createContext(null)},82751,(e,t,r)=>{"use strict";function s(e,t){let r=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-r)<Math.abs(e-r)?t:e,0):r}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"findClosestQuality",{enumerable:!0,get:function(){return s}})},32416,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return l}});let s=e.r(82751);function a(e){let{config:t,src:r,width:a,quality:l}=e;if(r.startsWith("/")&&r.includes("?")&&t.localPatterns?.length===1&&"**"===t.localPatterns[0].pathname&&""===t.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${r}" is using a query string which is not configured in images.localPatterns.
|
|
3
|
-
Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let i=(0,s.findClosestQuality)(l,t);return`${t.path}?url=${encodeURIComponent(r)}&w=${a}&q=${i}${r.startsWith("/_next/static/media/"),""}`}a.__next_img_default=!0;let l=a},96444,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return a}});let s=e.r(27946);function a(e,t){let r=(0,s.useRef)(null),a=(0,s.useRef)(null);return(0,s.useCallback)(s=>{if(null===s){let e=r.current;e&&(r.current=null,e());let t=a.current;t&&(a.current=null,t())}else e&&(r.current=l(e,s)),t&&(a.current=l(t,s))},[e,t])}function l(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},82279,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return v}});let s=e.r(81258),a=e.r(44066),l=e.r(59031),i=a._(e.r(27946)),n=s._(e.r(85885)),o=s._(e.r(30547)),d=e.r(46883),c=e.r(11811),u=e.r(82075);e.r(69780);let p=e.r(45766),m=s._(e.r(32416)),h=e.r(96444),x={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0};function f(e,t,r,s,a,l,i){let n=e?.src;e&&e["data-loaded-src"]!==n&&(e["data-loaded-src"]=n,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&a(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let s=!1,a=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>s,isPropagationStopped:()=>a,persist:()=>{},preventDefault:()=>{s=!0,t.preventDefault()},stopPropagation:()=>{a=!0,t.stopPropagation()}})}s?.current&&s.current(e)}}))}function g(e){return i.use?{fetchPriority:e}:{fetchpriority:e}}"undefined"==typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let b=(0,i.forwardRef)((e,t)=>{let{src:r,srcSet:s,sizes:a,height:n,width:o,decoding:d,className:c,style:u,fetchPriority:p,placeholder:m,loading:x,unoptimized:b,fill:y,onLoadRef:v,onLoadingCompleteRef:j,setBlurComplete:w,setShowAltText:N,sizesInput:S,onLoad:_,onError:E,...k}=e,C=(0,i.useCallback)(e=>{e&&(E&&(e.src=e.src),e.complete&&f(e,m,v,j,w,b,S))},[r,m,v,j,w,E,b,S]),R=(0,h.useMergedRef)(t,C);return(0,l.jsx)("img",{...k,...g(p),loading:x,width:o,height:n,decoding:d,"data-nimg":y?"fill":"1",className:c,style:u,sizes:a,srcSet:s,src:r,ref:R,onLoad:e=>{f(e.currentTarget,m,v,j,w,b,S)},onError:e=>{N(!0),"empty"!==m&&w(!0),E&&E(e)}})});function y(e){let{isAppRouter:t,imgAttributes:r}=e,s={as:"image",imageSrcSet:r.srcSet,imageSizes:r.sizes,crossOrigin:r.crossOrigin,referrerPolicy:r.referrerPolicy,...g(r.fetchPriority)};return t&&n.default.preload?(n.default.preload(r.src,s),null):(0,l.jsx)(o.default,{children:(0,l.jsx)("link",{rel:"preload",href:r.srcSet?void 0:r.src,...s},"__nimg-"+r.src+r.srcSet+r.sizes)})}let v=(0,i.forwardRef)((e,t)=>{let r=(0,i.useContext)(p.RouterContext),s=(0,i.useContext)(u.ImageConfigContext),a=(0,i.useMemo)(()=>{let e=x||s||c.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t),a=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:a,localPatterns:"undefined"==typeof window?s?.localPatterns:e.localPatterns}},[s]),{onLoad:n,onLoadingComplete:o}=e,h=(0,i.useRef)(n);(0,i.useEffect)(()=>{h.current=n},[n]);let f=(0,i.useRef)(o);(0,i.useEffect)(()=>{f.current=o},[o]);let[g,v]=(0,i.useState)(!1),[j,w]=(0,i.useState)(!1),{props:N,meta:S}=(0,d.getImgProps)(e,{defaultLoader:m.default,imgConf:a,blurComplete:g,showAltText:j});return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(b,{...N,unoptimized:S.unoptimized,placeholder:S.placeholder,fill:S.fill,onLoadRef:h,onLoadingCompleteRef:f,setBlurComplete:v,setShowAltText:w,sizesInput:e.sizes,ref:t}),S.preload?(0,l.jsx)(y,{isAppRouter:!r,imgAttributes:N}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},82826,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var s={default:function(){return c},getImageProps:function(){return d}};for(var a in s)Object.defineProperty(r,a,{enumerable:!0,get:s[a]});let l=e.r(81258),i=e.r(46883),n=e.r(82279),o=l._(e.r(32416));function d(e){let{props:t}=(0,i.getImgProps)(e,{defaultLoader:o.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let c=n.Image},81437,(e,t,r)=>{t.exports=e.r(82826)},31713,e=>{"use strict";var t,r=e.i(59031),s=e.i(27946);e.i(97803);let a=["image/png","image/jpeg","image/webp","image/gif","image/heic","image/heif"];async function l(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"image/webp",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.92;return new Promise((s,a)=>{let l=new Image;l.onload=()=>{try{let e=document.createElement("canvas");e.width=l.naturalWidth,e.height=l.naturalHeight;let i=e.getContext("2d");if(!i)return void a(Error("Failed to get canvas context"));i.drawImage(l,0,0);let n=e.toDataURL(t,r);s(n)}catch(e){a(e)}},l.onerror=()=>{a(Error("Failed to load image for conversion"))},l.src=e})}async function i(e){var t;let r=n(e);if(!r)throw Error("Invalid image format");return(t=r.mimeType,a.includes(t.toLowerCase()))?e:(console.log(`Converting unsupported format ${r.mimeType} to WebP`),l(e,"image/webp",.92))}function n(e){if(!e)return null;let t=e.match(/^data:(image\/[a-zA-Z+]+);base64,(.+)$/);return t?{mimeType:t[1],data:t[2]}:null}let o=async e=>new Promise((t,r)=>{let s=new FileReader;s.onloadend=async()=>{try{let e=s.result,r=await i(e);t(r)}catch(e){r(e)}},s.onerror=r,s.readAsDataURL(e)}),d=null;async function c(){d||(d=await e.A(28292))}let u=async()=>!1,p=async(e,t,r,s,a,l)=>{let i=n(await o(e));if(!i)throw Error("無法讀取圖片");if(await c(),!a)throw Error("靜態版本需要提供 API 金鑰");return d.analyzeProductImageClient({imageBase64:i.data,imageMimeType:i.mimeType,productName:t,productInfo:r,productUrl:s,apiKey:a,locale:l})},m=async(e,t,r,s,a,l)=>{if(await c(),!a)throw Error("靜態版本需要提供 API 金鑰");return d.generateContentPlanClient({route:e,analysis:t,referenceCopy:r,selectedSizes:s,apiKey:a,locale:l})},h=async function(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"1:1",a=arguments.length>4?arguments[4]:void 0;if(await c(),!t)throw Error("靜態版本需要提供 API 金鑰");return d.generateMarketingImageClient({prompt:e,referenceImageBase64:r,aspectRatio:s,secondaryImageBase64:a,apiKey:t})},x=async(e,t,r,s,a,l)=>{if(await c(),!a)throw Error("靜態版本需要提供 API 金鑰");return d.regenerateVisualPromptClient({titleZh:e,copyZh:t,ratio:r,sizeLabel:s,visualSummaryZh:l,apiKey:a})},f=async function(e,t,r,s){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"1:1",l=arguments.length>5?arguments[5]:void 0,i=arguments.length>6?arguments[6]:void 0,n=arguments.length>7?arguments[7]:void 0,o=arguments.length>8?arguments[8]:void 0,u=arguments.length>9?arguments[9]:void 0,p=arguments.length>10?arguments[10]:void 0,m=arguments.length>11?arguments[11]:void 0;if(await c(),!s)throw Error("靜態版本需要提供 API 金鑰");return d.generateImageFromReferenceClient({productImageBase64:e,referenceImageBase64:t,similarity:r,aspectRatio:a,brandLogoBase64:l,titleText:i,copyText:n,showText:o,titleWeight:u,copyWeight:p,secondaryProductBase64:m,apiKey:s})};var g=((t={})[t.IDLE=0]="IDLE",t[t.ANALYZING=1]="ANALYZING",t[t.RESULTS=2]="RESULTS",t[t.SIZE_SELECTION=3]="SIZE_SELECTION",t[t.PLANNING=4]="PLANNING",t[t.SUITE_READY=5]="SUITE_READY",t[t.ERROR=6]="ERROR",t);let b=s.default.memo(e=>{let{className:t=""}=e;return(0,r.jsxs)("svg",{className:`animate-spin ${t}`,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[(0,r.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,r.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})});b.displayName="Spinner";var y=e.i(29712);let v=e=>{let{analysis:t,imageSrc:s}=e,{t:a}=(0,y.useLocale)();return(0,r.jsxs)("div",{className:"bg-[#1e1e24] border border-white/10 rounded-xl p-6 mb-8 flex flex-col md:flex-row gap-6 shadow-2xl shadow-black/50",children:[(0,r.jsx)("div",{className:"w-full md:w-1/3 shrink-0",children:(0,r.jsxs)("div",{className:"aspect-square rounded-lg overflow-hidden bg-black/20 relative group",children:[(0,r.jsx)("img",{src:s,alt:t.name,className:"w-full h-full object-contain"}),(0,r.jsx)("div",{className:"absolute inset-0 bg-linear-to-t from-black/60 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-end p-4",children:(0,r.jsx)("span",{className:"text-xs text-white/80",children:a("productCard.originalImage")})})]})}),(0,r.jsxs)("div",{className:"flex flex-col justify-center w-full",children:[(0,r.jsx)("div",{className:"uppercase tracking-widest text-xs text-blue-400 font-bold mb-2",children:a("productCard.analysisReport")}),(0,r.jsx)("h2",{className:"text-3xl font-bold text-white serif mb-1",children:t.name}),(0,r.jsx)("p",{className:"text-gray-400 text-sm mb-4 italic",children:t.visual_description}),(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)("h3",{className:"text-sm font-semibold text-white/80 uppercase tracking-wider border-b border-blue-500/30 pb-1 inline-block",children:a("productCard.keyFeatures")}),(0,r.jsx)("p",{className:"text-gray-300 leading-relaxed",children:t.key_features})]})]})]})},j=e=>{let{isOpen:t,onClose:s}=e,{t:a,locale:l}=(0,y.useLocale)();if(!t)return null;let i="zh"===l?{step1:{title:"上傳與資訊輸入|一次填完所有資訊",desc:"上傳產品圖後,可以選填以下資訊(填越多,AI 越懂你):",items:[{label:"產品名稱",desc:"讓 AI 認得你的產品"},{label:"產品資訊",desc:"品牌故事、核心價值、產品特色"},{label:"產品網址",desc:"AI 會自動抓取官網內容進行分析"},{label:"參考文案 / 競品參考",desc:"貼上同類商品的熱銷文案,AI 會拆解其說服邏輯"}],tip:"💡 小提示:所有資訊一次填完,就不用在流程中重複輸入了"},step2:{title:"Phase 1:策略選擇|秒速決定視覺方向",desc:"AI 會分析產品後,立即提供",descHighlight:"三條截然不同的視覺策略",descSuffix:",每條路線包含:",items:["主打標語與副標題","視覺風格描述(色調、氛圍、設計元素)","目標受眾定位"],tip:"👉 點選一個你喜歡的路線,系統會自動進入 Phase 2 開始規劃完整內容"},step3:{title:"選擇圖片尺寸|多平台支援",desc:"選擇策略路線後,系統會自動進入尺寸選擇畫面,勾選你需要的尺寸:",items:[{label:"1:1 方形圖",desc:"適合 FB 貼文、IG 輪播、電商主圖"},{label:"9:16 直式長圖",desc:"適合限時動態、Instagram Stories、Reels"},{label:"4:5 直式圖",desc:"適合 IG Feed 主頁、優化手機瀏覽"},{label:"16:9 橫式長圖",desc:"適合封面、廣告圖片、橫幅設計"},{label:"1:1 商業攝影",desc:"專業商品攝影風格(工作室燈光、高端相機質感)"}],tip:"AI 會為每個選定的尺寸生成 3 組不同的內容方案(功能導向、情感導向、數據導向)"},step4:{title:"上傳產品圖與 Logo|產圖前置準備",desc:"在「爆肝產圖設定」區域,上傳以下素材(這些設定會在所有方案間共用):",items:[{label:"📸 產品圖片",desc:"必要,用於圖片生成的主要素材"},{label:"🏷️ 品牌 Logo",desc:"選填,會自動放置在圖片角落"}]},step5:{title:"腳本審閱模式|內容來嘴看看",desc:"切換至「內容來嘴看看」模式,可以:",items:["查看所有方案的標題、文案、視覺摘要","編輯任何不滿意的文案","調整 AI Prompt(進階功能)","為每個方案重新生成 Prompt"]},step6:{title:"圖片製作模式|爆肝產圖",desc:"切換至「爆肝產圖」模式,針對每個方案可以:",sections:[{title:"✅ 文字與字體控制",items:["勾選「顯示內容(標題 + 文案)」決定是否在圖片上疊加文字","直接在產圖模式修改標題和文案","選擇字體粗細(Regular、Medium、Bold、Black)","所有文字使用開源字體思源黑體(Noto Sans TC),無版權問題"]},{title:"🎨 雙模式生成",items:["提詞版(預設):使用 AI 自動生成的視覺 Prompt 創作","參考版:上傳參考圖片,選擇相似度(低 / 中 / 高)"]},{title:"📥 生成與下載",items:["點擊播放按鈕開始生成(約 10-20 秒)","滑鼠移至圖片上方可下載或重繪"]}]}}:{step1:{title:"Upload & Input | Fill in all info at once",desc:"After uploading product image, you can fill in the following (the more you fill, the better AI understands):",items:[{label:"Product Name",desc:"Help AI recognize your product"},{label:"Product Info",desc:"Brand story, core values, product features"},{label:"Product URL",desc:"AI will automatically fetch and analyze the website content"},{label:"Reference Copy / Competitor Reference",desc:"Paste successful ad copy from similar products, AI will analyze its persuasion logic"}],tip:"💡 Tip: Fill in all info at once, so you don't need to repeat it later"},step2:{title:"Phase 1: Strategy Selection | Instant visual direction",desc:"After analyzing your product, AI provides",descHighlight:"three different visual strategies",descSuffix:", each including:",items:["Headline and subheadline","Visual style description (colors, mood, design elements)","Target audience positioning"],tip:"👉 Select a route you like, system will automatically enter Phase 2 to plan complete content"},step3:{title:"Select Image Sizes | Multi-platform support",desc:"After selecting a strategy, system will enter size selection screen. Check the sizes you need:",items:[{label:"1:1 Square",desc:"For FB posts, IG carousel, e-commerce main image"},{label:"9:16 Vertical",desc:"For Stories, Instagram Reels, full-screen mobile"},{label:"4:5 Portrait",desc:"For IG Feed, optimized for mobile"},{label:"16:9 Landscape",desc:"For covers, ad banners"},{label:"1:1 Commercial",desc:"Professional product photography style (studio lighting, premium camera quality)"}],tip:"AI will generate 3 different content sets for each selected size (functional, emotional, data-driven)"},step4:{title:"Upload Product & Logo | Pre-generation setup",desc:"In the 'Image Generation Settings' area, upload the following assets (shared across all plans):",items:[{label:"📸 Product Image",desc:"Required, main asset for image generation"},{label:"🏷️ Brand Logo",desc:"Optional, will be placed in corner automatically"}]},step5:{title:"Review Mode | Check the content",desc:"Switch to 'Review Content' mode to:",items:["View all plans' titles, copy, visual summary","Edit any unsatisfactory copy","Adjust AI Prompt (advanced)","Regenerate Prompt for each plan"]},step6:{title:"Production Mode | Generate images",desc:"Switch to 'Generate Images' mode, for each plan you can:",sections:[{title:"✅ Text & Font Control",items:["Toggle 'Show content (Title + Copy)' to decide whether to overlay text","Edit title and copy directly in production mode","Choose font weight (Regular, Medium, Bold, Black)","All text uses open source Noto Sans TC font, no copyright issues"]},{title:"🎨 Dual Generation Modes",items:["Prompt Mode (default): Use AI-generated visual prompt","Reference Mode: Upload reference image, select similarity (Low / Medium / High)"]},{title:"📥 Generate & Download",items:["Click play button to generate (about 10-20 seconds)","Hover over image to download or regenerate"]}]}};return(0,r.jsxs)("div",{className:"fixed inset-0 z-100 flex items-center justify-center p-4",children:[(0,r.jsx)("div",{className:"absolute inset-0 bg-black/80 backdrop-blur-sm transition-opacity",onClick:s}),(0,r.jsxs)("div",{className:"relative bg-[#1a1a1f] border border-white/10 rounded-2xl max-w-3xl w-full max-h-[90vh] overflow-y-auto shadow-2xl shadow-purple-900/20 animate-in fade-in zoom-in duration-300",children:[(0,r.jsx)("button",{onClick:s,className:"absolute top-4 right-4 text-gray-400 hover:text-white transition-colors p-2",children:(0,r.jsx)("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})}),(0,r.jsxs)("div",{className:"p-8",children:[(0,r.jsx)("h2",{className:"text-3xl font-bold serif text-white mb-8",children:a("guideModal.title")}),(0,r.jsx)("div",{className:"mb-8 p-4 bg-blue-900/20 border border-blue-500/30 rounded-xl",children:(0,r.jsxs)("div",{className:"flex items-start gap-3",children:[(0,r.jsx)("span",{className:"text-blue-400 text-xl",children:"🔑"}),(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-blue-300 font-semibold mb-1",children:a("guideModal.apiKeyNotice")}),(0,r.jsxs)("p",{className:"text-gray-400 text-sm leading-relaxed",children:[a("guideModal.apiKeyDesc")," ",(0,r.jsx)("a",{href:"https://aistudio.google.com/app/apikey",target:"_blank",rel:"noopener noreferrer",className:"text-blue-400 hover:text-blue-300 underline",children:a("guideModal.apiKeyLink")})," ",a("guideModal.apiKeyDesc2")]})]})]})}),(0,r.jsxs)("div",{className:"space-y-8",children:[(0,r.jsxs)("div",{className:"flex gap-4",children:[(0,r.jsx)("div",{className:"shrink-0 w-10 h-10 rounded-full bg-purple-600/20 text-purple-400 flex items-center justify-center font-bold text-lg border border-purple-600/30",children:"1"}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"text-lg font-bold text-white mb-2",children:i.step1.title}),(0,r.jsx)("p",{className:"text-gray-400 text-sm leading-relaxed mb-3",children:i.step1.desc}),(0,r.jsx)("ul",{className:"list-disc list-inside text-sm text-gray-400 space-y-1.5 ml-1",children:i.step1.items.map((e,t)=>(0,r.jsxs)("li",{children:[(0,r.jsx)("strong",{className:"text-white",children:e.label}),"zh"===l?":":": ",e.desc]},t))}),(0,r.jsx)("p",{className:"text-gray-500 text-xs mt-3",children:i.step1.tip})]})]}),(0,r.jsxs)("div",{className:"flex gap-4",children:[(0,r.jsx)("div",{className:"shrink-0 w-10 h-10 rounded-full bg-blue-600/20 text-blue-400 flex items-center justify-center font-bold text-lg border border-blue-600/30",children:"2"}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"text-lg font-bold text-white mb-2",children:i.step2.title}),(0,r.jsxs)("p",{className:"text-gray-400 text-sm leading-relaxed mb-2",children:[i.step2.desc," ",(0,r.jsx)("strong",{className:"text-white",children:i.step2.descHighlight}),i.step2.descSuffix]}),(0,r.jsx)("ul",{className:"list-disc list-inside text-sm text-gray-400 space-y-1 ml-1 mb-3",children:i.step2.items.map((e,t)=>(0,r.jsx)("li",{children:e},t))}),(0,r.jsx)("p",{className:"text-gray-400 text-sm leading-relaxed",children:i.step2.tip})]})]}),(0,r.jsxs)("div",{className:"flex gap-4",children:[(0,r.jsx)("div",{className:"shrink-0 w-10 h-10 rounded-full bg-pink-600/20 text-pink-400 flex items-center justify-center font-bold text-lg border border-pink-600/30",children:"3"}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"text-lg font-bold text-white mb-2",children:i.step3.title}),(0,r.jsx)("p",{className:"text-gray-400 text-sm leading-relaxed mb-2",children:i.step3.desc}),(0,r.jsx)("ul",{className:"list-disc list-inside text-sm text-gray-400 space-y-1 ml-1 mb-3",children:i.step3.items.map((e,t)=>(0,r.jsxs)("li",{children:[(0,r.jsx)("strong",{className:"text-white",children:e.label}),"zh"===l?":":": ",e.desc]},t))}),(0,r.jsx)("p",{className:"text-gray-400 text-sm leading-relaxed",children:i.step3.tip})]})]}),(0,r.jsxs)("div",{className:"flex gap-4",children:[(0,r.jsx)("div",{className:"shrink-0 w-10 h-10 rounded-full bg-green-600/20 text-green-400 flex items-center justify-center font-bold text-lg border border-green-600/30",children:"4"}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"text-lg font-bold text-white mb-2",children:i.step4.title}),(0,r.jsx)("p",{className:"text-gray-400 text-sm leading-relaxed mb-3",children:i.step4.desc}),(0,r.jsx)("ul",{className:"list-disc list-inside text-sm text-gray-400 space-y-1.5 ml-1",children:i.step4.items.map((e,t)=>(0,r.jsxs)("li",{children:[(0,r.jsx)("strong",{className:"text-white",children:e.label}),"zh"===l?":":": ",e.desc]},t))})]})]}),(0,r.jsxs)("div",{className:"flex gap-4",children:[(0,r.jsx)("div",{className:"shrink-0 w-10 h-10 rounded-full bg-yellow-600/20 text-yellow-400 flex items-center justify-center font-bold text-lg border border-yellow-600/30",children:"5"}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"text-lg font-bold text-white mb-2",children:i.step5.title}),(0,r.jsx)("p",{className:"text-gray-400 text-sm leading-relaxed mb-3",children:i.step5.desc}),(0,r.jsx)("ul",{className:"list-disc list-inside text-sm text-gray-400 space-y-1.5 ml-1",children:i.step5.items.map((e,t)=>(0,r.jsx)("li",{children:e},t))})]})]}),(0,r.jsxs)("div",{className:"flex gap-4",children:[(0,r.jsx)("div",{className:"shrink-0 w-10 h-10 rounded-full bg-orange-600/20 text-orange-400 flex items-center justify-center font-bold text-lg border border-orange-600/30",children:"6"}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"text-lg font-bold text-white mb-2",children:i.step6.title}),(0,r.jsx)("p",{className:"text-gray-400 text-sm leading-relaxed mb-2",children:i.step6.desc}),(0,r.jsx)("div",{className:"space-y-3",children:i.step6.sections.map((e,t)=>(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-white text-sm font-semibold mb-1.5",children:e.title}),(0,r.jsx)("ul",{className:"list-disc list-inside text-sm text-gray-400 space-y-1 ml-1",children:e.items.map((e,t)=>(0,r.jsx)("li",{children:e},t))})]},t))})]})]})]})]})]})]})},w=(e,t)=>{if("en"===t){let t="Clean solid color background #f6f6f6, professional product photography composition, emphasize product details, no clutter";switch(e){case"single":return`${t}, single product centered, product as absolute focal point`;case"fan":return`${t}, multiple products in fan-shaped spread, showcase product series`;case"grid":return`${t}, products arranged in neat rows, display rhythmic aesthetics`;case"stack":return`${t}, products naturally stacked, showcase richness`;case"custom":return"Describe your desired composition, background color, arrangement...";default:return t}}let r="乾淨的純色背景,色號#f6f6f6,專業商品攝影構圖,強調產品細節,無雜亂元素";switch(e){case"single":return`${r},單一產品置中展示,讓產品成為絕對焦點`;case"fan":return`${r},多片產品呈扇形展開排列,展現產品系列感`;case"grid":return`${r},產品整齊並排展示,呈現規律美感`;case"stack":return`${r},產品自然層疊堆放,展現豐富感`;case"custom":return"請自由描述您想要的構圖方式、背景色、排列方式等...";default:return r}},N=e=>{switch(e){case"1:1":return"bg-blue-500";case"9:16":return"bg-purple-500";case"4:5":return"bg-pink-500";case"16:9":return"bg-green-500";case"1:1-commercial":return"bg-amber-500";default:return"bg-orange-500"}},S=e=>{switch(e){case"1:1":return"bg-blue-500/20 text-blue-300 border-blue-500/30";case"1:1-commercial":return"bg-amber-500/20 text-amber-300 border-amber-500/30";case"9:16":return"bg-purple-500/20 text-purple-300 border-purple-500/30";case"4:5":return"bg-pink-500/20 text-pink-300 border-pink-500/30";case"16:9":return"bg-green-500/20 text-green-300 border-green-500/30";default:return"bg-gray-500/20 text-gray-300 border-gray-500/30"}},_=s.default.memo(e=>{let{contentSet:t,onChange:s,onRegeneratePrompt:a,isRegenerating:l,t:i,locale:n}=e,o="en"===n?[{value:"single",label:"Single",description:"Single product centered"},{value:"fan",label:"Fan",description:"Fan-shaped arrangement"},{value:"grid",label:"Grid",description:"Organized grid layout"},{value:"stack",label:"Stack",description:"Natural stacking"},{value:"custom",label:"Custom",description:"Use visual summary"}]:[{value:"single",label:"單品特寫",description:"單一產品置中展示"},{value:"fan",label:"扇形展開",description:"多產品呈扇形排列"},{value:"grid",label:"整齊並排",description:"產品整齊排列成行"},{value:"stack",label:"自然堆疊",description:"產品自然層疊擺放"},{value:"custom",label:"自訂",description:"使用構圖摘要描述"}];return(0,r.jsxs)("div",{className:"bg-[#1e1e24] border border-white/5 rounded-lg p-4 mb-4",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsxs)("span",{className:`text-[10px] font-bold uppercase tracking-wider px-2 py-1 rounded ${S(t.ratio)}`,children:[t.size_label," - ",i("contentSuite.plan")," ",t.set_number]}),(0,r.jsx)("span",{className:"text-xs text-gray-500",children:t.ratio})]}),(0,r.jsx)("button",{onClick:()=>a(t.id),disabled:l,className:"text-xs px-3 py-1 bg-linear-to-r from-green-600 to-emerald-600 hover:opacity-90 text-white font-bold rounded-full transition-opacity disabled:opacity-50 disabled:cursor-not-allowed flex items-center gap-1",title:i("contentSuite.regeneratePrompt"),children:l?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(b,{className:"w-3 h-3"}),(0,r.jsx)("span",{children:i("contentSuite.regenerating")})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("svg",{className:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})}),(0,r.jsx)("span",{children:i("contentSuite.regeneratePrompt")})]})})]}),(0,r.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-xs text-gray-400 mb-1",children:i("contentSuite.titleLabel")}),(0,r.jsx)("textarea",{value:t.title,onChange:e=>s(t.id,"title",e.target.value),className:"w-full bg-black/30 border border-white/10 rounded px-3 py-2 text-sm text-white focus:border-blue-500 focus:outline-none resize-none h-16"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-xs text-gray-400 mb-1",children:i("contentSuite.copyLabel")}),(0,r.jsx)("textarea",{value:t.copy,onChange:e=>s(t.id,"copy",e.target.value),className:"w-full bg-black/30 border border-white/10 rounded px-3 py-2 text-sm text-white focus:border-blue-500 focus:outline-none resize-none h-24"})]}),"1:1-commercial"===t.ratio&&(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-xs text-amber-400 mb-1",children:i("contentSuite.arrangement")}),(0,r.jsx)("div",{className:"grid grid-cols-5 gap-1",children:o.map(e=>(0,r.jsx)("button",{type:"button",onClick:()=>s(t.id,"arrangement_style",e.value),className:`px-2 py-1.5 text-[10px] rounded transition-all ${(t.arrangement_style||"single")===e.value?"bg-amber-500 text-black font-bold":"bg-black/30 text-gray-400 hover:bg-amber-500/20 hover:text-amber-300 border border-white/10"}`,title:e.description,children:e.label},e.value))}),(0,r.jsx)("p",{className:"text-[10px] text-gray-500 mt-1",children:o.find(e=>e.value===(t.arrangement_style||"single"))?.description})]}),(0,r.jsxs)("div",{children:[(0,r.jsxs)("label",{className:"block text-xs text-gray-400 mb-1",children:[i("contentSuite.visualSummary"),"1:1-commercial"===t.ratio&&(0,r.jsx)("span",{className:"ml-2 text-amber-400 text-[10px]",children:i("contentSuite.visualSummaryCommercial")})]}),(0,r.jsx)("textarea",{value:t.visual_summary,onChange:e=>s(t.id,"visual_summary",e.target.value),placeholder:"1:1-commercial"===t.ratio?w(t.arrangement_style||"single",n):i("contentSuite.visualSummaryPlaceholder"),className:`w-full bg-black/30 border rounded px-3 py-2 text-sm focus:outline-none resize-none h-20 ${"1:1-commercial"===t.ratio?"border-amber-500/30 text-amber-200 focus:border-amber-500 placeholder:text-amber-500/50":"border-white/10 text-gray-300 focus:border-blue-500 placeholder:text-gray-600"}`}),(0,r.jsx)("p",{className:"text-[10px] text-gray-500 mt-1",children:i("1:1-commercial"===t.ratio?"contentSuite.visualSummaryHintCommercial":"contentSuite.visualSummaryHint")})]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-xs text-gray-400 mb-1",children:i("contentSuite.visualPrompt")}),(0,r.jsx)("textarea",{value:t.visual_prompt_en,onChange:e=>s(t.id,"visual_prompt_en",e.target.value),className:"w-full bg-black/30 border border-white/10 rounded px-3 py-2 text-xs text-gray-300 focus:border-blue-500 focus:outline-none font-mono resize-none h-48"})]})]})]})});_.displayName="ScriptEditorRow";let E=e=>{let{contentSet:t,apiKey:a,productImage:l,secondaryProduct:i,brandLogo:n,onContentChange:d,t:c}=e,[u,p]=(0,s.useState)(null),[m,x]=(0,s.useState)(!1),[g,y]=(0,s.useState)(null),[v,j]=(0,s.useState)(!1),[w,N]=(0,s.useState)("bold"),[_,E]=(0,s.useState)("regular"),[k,C]=(0,s.useState)("prompt"),[R,T]=(0,s.useState)(null),[P,I]=(0,s.useState)("medium"),L=async()=>{if(!l)return void y(c("production.uploadProductFirst"));if("reference"===k&&!R)return void y(c("production.uploadReferenceFirst"));x(!0),y(null);try{let e;if("reference"===k&&R)e=await f(l,R,"low"===P?20:"medium"===P?55:85,a,t.ratio,n,t.title,t.copy,v,w,_,i);else{let r=t.visual_prompt_en;if(n&&(r+="\n\nIMPORTANT: Place the uploaded brand logo in one of the four corners (top-left, top-right, bottom-left, or bottom-right) in a subtle, non-intrusive way. The logo should be clearly visible but not dominate the composition."),v){let e={regular:"Regular (400)",medium:"Medium (500)",bold:"Bold (700)",black:"Black (900)"};r+=`
|
|
4
|
-
|
|
5
|
-
IMPORTANT: Overlay the following text on the image using Noto Sans TC (Noto Sans Traditional Chinese) font:
|
|
6
|
-
Title: "${t.title}" (Font: Noto Sans TC ${e[w]})
|
|
7
|
-
Copy: "${t.copy}" (Font: Noto Sans TC ${e[_]})
|
|
8
|
-
Use appropriate positioning, size, and styling that complements the visual design. Make sure the font is Noto Sans TC (思源黑體).`}e=await h(r,a,l,t.ratio,i)}p(e)}catch(e){y(e instanceof Error?e.message:c("production.generateFailed"))}finally{x(!1)}};return(0,r.jsxs)("div",{className:"flex flex-col gap-3 group relative",children:[(0,r.jsxs)("div",{className:`relative rounded-xl overflow-hidden bg-[#15151a] border border-white/10 shadow-lg w-full ${(e=>{switch(e){case"1:1":case"1:1-commercial":default:return"aspect-square";case"9:16":return"aspect-[9/16]";case"4:5":return"aspect-[4/5]";case"16:9":return"aspect-[16/9]"}})(t.ratio)}`,children:[m?(0,r.jsxs)("div",{className:"w-full h-full flex flex-col items-center justify-center p-4 bg-linear-to-br from-blue-900/20 to-purple-900/20",children:[(0,r.jsx)(b,{className:"w-10 h-10 text-blue-500 mb-3"}),(0,r.jsx)("p",{className:"text-sm text-blue-300 font-medium",children:c("production.generating")}),(0,r.jsx)("p",{className:"text-xs text-gray-400 mt-1",children:c("production.pleaseWait")})]}):u?(0,r.jsxs)("div",{className:"relative w-full h-full",children:[(0,r.jsx)("img",{src:u,alt:t.title,className:"w-full h-full object-cover"}),(0,r.jsxs)("div",{className:"absolute inset-0 bg-black/50 opacity-0 group-hover:opacity-100 transition-opacity flex items-center justify-center gap-2 pointer-events-none",children:[(0,r.jsx)("a",{href:u,download:`${t.id}.png`,className:"p-2 bg-white/20 hover:bg-white/40 rounded-full text-white backdrop-blur-sm pointer-events-auto",title:c("production.download"),children:(0,r.jsx)("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"})})}),(0,r.jsx)("button",{onClick:L,disabled:m,className:"p-2 bg-white/20 hover:bg-white/40 rounded-full text-white backdrop-blur-sm pointer-events-auto disabled:opacity-50 disabled:cursor-not-allowed",title:c("production.redraw"),children:(0,r.jsx)("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})})})]})]}):(0,r.jsxs)("div",{className:"w-full h-full flex flex-col items-center justify-center p-4 text-center relative",children:[l&&(0,r.jsx)("div",{className:"absolute inset-0 opacity-20",children:(0,r.jsx)("img",{src:l,className:"w-full h-full object-cover blur-sm",alt:"product-bg"})}),(0,r.jsx)("button",{onClick:L,disabled:!l,className:"w-12 h-12 rounded-full bg-white/5 flex items-center justify-center hover:bg-blue-600 hover:text-white transition-all text-gray-500 border border-white/10 relative z-10 disabled:opacity-30 disabled:cursor-not-allowed",children:(0,r.jsxs)("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:[(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z"}),(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})]})})]}),(0,r.jsxs)("div",{className:`absolute top-2 left-2 px-2 py-1 rounded text-[10px] font-bold uppercase tracking-wider border backdrop-blur-sm z-20 ${S(t.ratio)}`,children:[c("contentSuite.plan")," ",t.set_number]})]}),(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,r.jsx)("input",{type:"checkbox",id:`showText-${t.id}`,checked:v,onChange:e=>j(e.target.checked),className:"w-3 h-3 rounded border-gray-500 bg-black/50 text-blue-500 focus:ring-blue-500 focus:ring-offset-0"}),(0,r.jsx)("label",{htmlFor:`showText-${t.id}`,className:"text-[10px] text-gray-400 cursor-pointer select-none",children:c("production.showContent")})]}),(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,r.jsx)("label",{className:"text-[10px] text-gray-500",children:c("production.titleInput")}),(0,r.jsxs)("select",{value:w,onChange:e=>N(e.target.value),className:"text-[9px] px-1 py-0.5 bg-white/5 border border-white/10 rounded text-gray-400 focus:border-blue-500 focus:outline-none",children:[(0,r.jsx)("option",{value:"regular",children:"Regular"}),(0,r.jsx)("option",{value:"medium",children:"Medium"}),(0,r.jsx)("option",{value:"bold",children:"Bold"}),(0,r.jsx)("option",{value:"black",children:"Black"})]})]}),(0,r.jsx)("input",{type:"text",value:t.title,onChange:e=>d(t.id,"title",e.target.value),className:"w-full px-2 py-1 text-sm font-bold text-white bg-white/5 border border-white/10 rounded focus:border-blue-500 focus:outline-none focus:ring-1 focus:ring-blue-500",placeholder:c("production.titlePlaceholder")})]}),(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,r.jsx)("label",{className:"text-[10px] text-gray-500",children:c("production.copyInput")}),(0,r.jsxs)("select",{value:_,onChange:e=>E(e.target.value),className:"text-[9px] px-1 py-0.5 bg-white/5 border border-white/10 rounded text-gray-400 focus:border-blue-500 focus:outline-none",children:[(0,r.jsx)("option",{value:"regular",children:"Regular"}),(0,r.jsx)("option",{value:"medium",children:"Medium"}),(0,r.jsx)("option",{value:"bold",children:"Bold"}),(0,r.jsx)("option",{value:"black",children:"Black"})]})]}),(0,r.jsx)("textarea",{value:t.copy,onChange:e=>d(t.id,"copy",e.target.value),className:"w-full px-2 py-1 text-xs text-gray-300 bg-white/5 border border-white/10 rounded focus:border-blue-500 focus:outline-none focus:ring-1 focus:ring-blue-500 resize-none",rows:2,placeholder:c("production.copyPlaceholder")})]}),(0,r.jsxs)("div",{className:"mt-3 space-y-3",children:[(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)("button",{onClick:()=>C("prompt"),className:`flex-1 py-2 px-3 rounded-lg text-xs font-bold transition-all ${"prompt"===k?"bg-blue-500 text-white":"bg-white/5 text-gray-400 hover:bg-white/10"}`,children:c("production.promptMode")}),(0,r.jsx)("button",{onClick:()=>C("reference"),className:`flex-1 py-2 px-3 rounded-lg text-xs font-bold transition-all ${"reference"===k?"bg-purple-500 text-white":"bg-white/5 text-gray-400 hover:bg-white/10"}`,children:c("production.referenceMode")})]}),"reference"===k&&(0,r.jsxs)("div",{className:"p-3 bg-purple-900/20 border border-purple-500/30 rounded-lg space-y-3",children:[(0,r.jsx)("div",{className:"text-xs font-bold text-purple-300",children:c("production.referenceSettings")}),(0,r.jsxs)("label",{className:"block",children:[(0,r.jsx)("div",{className:"text-[10px] text-gray-400 mb-1",children:c("production.uploadReference")}),(0,r.jsxs)("label",{className:"flex items-center justify-center w-full h-20 border border-dashed border-purple-500/50 rounded cursor-pointer hover:border-purple-500 hover:bg-purple-500/5 transition-all relative overflow-hidden",children:[R?(0,r.jsxs)("div",{className:"w-full h-full relative group",children:[(0,r.jsx)("img",{src:R,alt:"Reference",className:"w-full h-full object-contain"}),(0,r.jsx)("div",{className:"absolute inset-0 bg-black/60 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity",children:(0,r.jsx)("span",{className:"text-white text-[10px]",children:c("production.changeReference")})})]}):(0,r.jsxs)("div",{className:"flex flex-col items-center justify-center py-2",children:[(0,r.jsx)("svg",{className:"w-6 h-6 mb-1 text-purple-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"})}),(0,r.jsx)("p",{className:"text-[10px] text-purple-300",children:c("contentSuite.clickToUpload")})]}),(0,r.jsx)("input",{type:"file",className:"hidden",accept:"image/*",onChange:async e=>{e.target.files&&e.target.files[0]&&T(await o(e.target.files[0]))}})]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"text-[10px] text-gray-400 mb-2 block",children:c("production.similarity")}),(0,r.jsx)("div",{className:"flex gap-2",children:["low","medium","high"].map(e=>(0,r.jsxs)("button",{onClick:()=>I(e),className:`flex-1 px-2 py-1.5 text-[10px] rounded transition-colors ${P===e?"bg-purple-600 text-white":"bg-gray-700 text-gray-300 hover:bg-gray-600"}`,children:[c(`production.similarity${e.charAt(0).toUpperCase()+e.slice(1)}`),(0,r.jsx)("div",{className:"text-[8px] opacity-70",children:c(`production.similarity${e.charAt(0).toUpperCase()+e.slice(1)}Desc`)})]},e))})]})]})]}),g&&(0,r.jsx)("p",{className:"text-[10px] text-red-400",children:g})]})]})},k=s.default.memo(e=>{let{file:t,previewUrl:s,onFileChange:a,label:l,emptyText:i,changeText:n,hint:o,borderColor:d,iconColor:c}=e;return(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsx)("label",{className:"block text-sm font-bold text-indigo-200 mb-2",children:l}),(0,r.jsxs)("label",{className:`flex flex-col items-center justify-center w-full h-40 border-2 border-dashed rounded-xl cursor-pointer transition-all relative overflow-hidden bg-black/20 ${"indigo"===d?"border-indigo-500/30 hover:border-indigo-400 hover:bg-indigo-500/5":"border-pink-500/30 hover:border-pink-400 hover:bg-pink-500/5"}`,children:[t&&s?(0,r.jsxs)("div",{className:"w-full h-full relative group",children:[(0,r.jsx)("img",{src:s,alt:l,className:"w-full h-full object-contain p-2"}),(0,r.jsx)("div",{className:"absolute inset-0 bg-black/60 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity",children:(0,r.jsx)("span",{className:"text-white text-sm",children:n})})]}):(0,r.jsxs)("div",{className:"flex flex-col items-center justify-center py-4",children:[(0,r.jsx)("svg",{className:`w-8 h-8 mb-2 ${"indigo"===c?"text-indigo-400":"text-pink-400"}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"})}),(0,r.jsx)("p",{className:`text-xs ${"indigo"===c?"text-indigo-300":"text-pink-300"}`,children:i}),o&&(0,r.jsx)("p",{className:"text-[10px] text-gray-500 mt-1",children:o})]}),(0,r.jsx)("input",{type:"file",className:"hidden",onChange:e=>{e.target.files&&e.target.files[0]&&a(e.target.files[0])},accept:"image/*"})]}),t&&(0,r.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),a(null)},className:"absolute top-8 right-2 w-6 h-6 bg-red-500/80 hover:bg-red-500 rounded-full flex items-center justify-center transition-colors z-10",children:(0,r.jsx)("svg",{className:"w-4 h-4 text-white",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]})});function C(e){let[t,r]=(0,s.useState)(null),[a,l]=(0,s.useState)(null);return(0,s.useEffect)(()=>{let t=!0,s=null;return e?(l(s=URL.createObjectURL(e)),o(e).then(e=>{t&&r(e)})):(r(null),l(null)),()=>{t=!1,s&&URL.revokeObjectURL(s)}},[e]),{base64:t,previewUrl:a}}k.displayName="ImageUploader";let R=e=>{let{plan:t,onContentUpdate:a,apiKey:l,productImage:i,secondaryProduct:n,brandLogo:o,onProductImageChange:d,onSecondaryProductChange:c,onBrandLogoChange:u}=e,{t:p,locale:m}=(0,y.useLocale)(),[h,f]=(0,s.useState)("review"),[g,b]=(0,s.useState)(t.content_sets),[v,j]=(0,s.useState)(null),S=C(i),R=C(n),T=C(o);(0,s.useEffect)(()=>{b(t.content_sets),f("review")},[t]);let P=(e,t,r)=>{let s=g.map(s=>s.id===e?{...s,[t]:r}:s);b(s),a(s)},I=async e=>{j(e);let t=g.find(t=>t.id===e);if(t)try{let r=t.visual_summary;if("1:1-commercial"===t.ratio){let e=t.arrangement_style||"single",s=(e=>{switch(e){case"single":return"single product centered, hero shot composition";case"fan":return"multiple products arranged in elegant fan spread pattern, radiating outward";case"grid":return"products neatly arranged in organized grid or row, symmetrical layout";case"stack":return"products naturally stacked or layered, casual elegant arrangement";case"custom":return"";default:return"single product centered"}})(e);if(r?.trim()||(r=w(e,m)),s){let e="en"===m?"【Product Arrangement - Highest Priority】":"【產品排列方式 - 最高優先級】";r=`${e}${s}。
|
|
9
|
-
|
|
10
|
-
${r}`}}let s=await x(t.title,t.copy,t.ratio,t.size_label,l,r);P(e,"visual_prompt_en",s)}catch(t){let e=t instanceof Error?t.message:p("common.unknownError");alert(`${p("contentSuite.regeneratePromptFailed")}${e}`)}finally{j(null)}},L=t.selected_sizes.map(e=>({ratio:e,label:g.find(t=>t.ratio===e)?.size_label||e,sets:g.filter(t=>t.ratio===e)}));return(0,r.jsxs)("div",{className:"w-full animate-in fade-in slide-in-from-bottom-8 duration-700",children:[(0,r.jsxs)("div",{className:"mb-8 p-6 bg-linear-to-br from-indigo-900/20 to-purple-900/20 border border-indigo-500/30 rounded-xl",children:[(0,r.jsxs)("h4",{className:"text-lg font-bold text-indigo-300 mb-4 flex items-center gap-2",children:[(0,r.jsx)("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"})}),p("contentSuite.settingsTitle")]}),(0,r.jsx)("p",{className:"text-sm text-gray-400 mb-6",children:p("contentSuite.settingsDescription")}),(0,r.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6 mb-6",children:[(0,r.jsx)(k,{file:i,previewUrl:S.previewUrl,onFileChange:d,label:p("contentSuite.mainProduct"),emptyText:p("contentSuite.clickToUploadMain"),changeText:p("contentSuite.changeImage"),borderColor:"indigo",iconColor:"indigo"}),(0,r.jsx)(k,{file:n,previewUrl:R.previewUrl,onFileChange:c,label:p("contentSuite.secondaryProduct"),emptyText:p("contentSuite.clickToUploadSecondary"),changeText:p("contentSuite.changeImage"),hint:p("contentSuite.secondaryProductHint"),borderColor:"pink",iconColor:"pink"}),(0,r.jsx)(k,{file:o,previewUrl:T.previewUrl,onFileChange:u,label:p("contentSuite.brandLogo"),emptyText:p("contentSuite.clickToUploadLogo"),changeText:p("contentSuite.changeLogo"),borderColor:"indigo",iconColor:"indigo"})]})]}),(0,r.jsxs)("div",{className:"flex flex-col md:flex-row items-center justify-between mb-8 gap-4 border-b border-white/10 pb-6",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h2",{className:"text-2xl font-bold text-white serif mb-1",children:t.plan_name}),(0,r.jsx)("p",{className:"text-gray-400 text-sm",children:t.selected_sizes.map(e=>{let t=g.filter(t=>t.ratio===e).length,r=g.find(t=>t.ratio===e)?.size_label||e;return`${r} ${t}${p("contentSuite.sets")}`}).join(" | ")})]}),(0,r.jsxs)("div",{className:"bg-[#1a1a1f] p-1 rounded-lg flex items-center border border-white/10",children:[(0,r.jsx)("button",{onClick:()=>f("review"),className:`px-4 py-2 rounded-md text-sm font-bold transition-all ${"review"===h?"bg-gray-700 text-white shadow":"text-gray-400 hover:text-white"}`,children:p("contentSuite.reviewMode")}),(0,r.jsx)("button",{onClick:()=>f("production"),className:`px-4 py-2 rounded-md text-sm font-bold transition-all ${"production"===h?"bg-blue-600 text-white shadow":"text-gray-400 hover:text-white"}`,children:p("contentSuite.productionMode")})]})]}),"review"===h&&(0,r.jsxs)("div",{className:"space-y-8",children:[(0,r.jsxs)("div",{className:"bg-blue-900/20 border border-blue-500/30 p-4 rounded-lg mb-6 flex items-start gap-3",children:[(0,r.jsx)("svg",{className:"w-5 h-5 text-blue-400 shrink-0 mt-0.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-blue-200 text-sm font-bold mb-1",children:p("contentSuite.reviewInfoTitle")}),(0,r.jsx)("p",{className:"text-blue-300/70 text-xs",children:p("contentSuite.reviewInfoDescription")})]})]}),L.map(e=>(0,r.jsxs)("div",{children:[(0,r.jsxs)("h3",{className:"text-lg font-bold text-white mb-4 flex items-center gap-2",children:[(0,r.jsx)("span",{className:`w-2 h-6 rounded-full ${N(e.ratio)}`}),e.label," (",e.ratio,") - ",e.sets.length," ",p("contentSuite.sets")]}),e.sets.map(e=>(0,r.jsx)(_,{contentSet:e,onChange:P,onRegeneratePrompt:I,isRegenerating:v===e.id,t:p,locale:m},e.id))]},e.ratio))]}),"production"===h&&(0,r.jsx)("div",{children:L.map((e,t)=>(0,r.jsxs)("div",{className:t>0?"mt-12":"",children:[(0,r.jsxs)("h3",{className:"text-lg font-semibold text-white mb-4 flex items-center gap-2",children:[(0,r.jsx)("span",{className:`w-2 h-6 rounded-full ${N(e.ratio)}`}),e.label," (",e.ratio,")"]}),(0,r.jsx)("div",{className:`grid gap-6 ${(e=>{switch(e){case"1:1":case"1:1-commercial":return"grid-cols-1 sm:grid-cols-2 md:grid-cols-4";case"9:16":return"grid-cols-1 sm:grid-cols-3 md:grid-cols-6";case"4:5":default:return"grid-cols-1 sm:grid-cols-2 md:grid-cols-3";case"16:9":return"grid-cols-1 sm:grid-cols-1 md:grid-cols-2"}})(e.ratio)}`,children:e.sets.map(e=>(0,r.jsx)(E,{contentSet:e,apiKey:l,productImage:S.base64,secondaryProduct:R.base64,brandLogo:T.base64,onContentChange:P,t:p},e.id))})]},e.ratio))})]})},T="gemini_api_key";function P(){return sessionStorage.getItem(T)}let I=e=>{let{isOpen:t,onClose:a,onSave:l,serverHasKey:i=!1}=e,{t:n}=(0,y.useLocale)(),[o,d]=(0,s.useState)("");return((0,s.useEffect)(()=>{let e=P();e&&d(e)},[t]),t)?(0,r.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/80 backdrop-blur-sm animate-in fade-in duration-200",children:(0,r.jsxs)("div",{className:"bg-[#1e1e24] border border-white/10 rounded-2xl p-8 max-w-md w-full shadow-2xl transform transition-all scale-100",children:[(0,r.jsx)("h3",{className:"text-xl font-bold text-white mb-4 serif",children:n("apiKeyModal.title")}),i&&(0,r.jsxs)("div",{className:"mb-6 p-4 bg-green-900/20 border border-green-500/30 rounded-lg",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,r.jsx)("svg",{className:"w-5 h-5 text-green-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})}),(0,r.jsx)("span",{className:"text-green-300 font-bold text-sm",children:n("apiKeyModal.freeMode")})]}),(0,r.jsxs)("p",{className:"text-green-300/70 text-xs",children:[n("apiKeyModal.freeModeDesc"),(0,r.jsx)("br",{}),n("apiKeyModal.freeModeDesc2")]})]}),(0,r.jsx)("p",{className:"text-gray-400 text-sm mb-6",children:i?(0,r.jsxs)(r.Fragment,{children:[n("apiKeyModal.enterKeyOptional"),(0,r.jsx)("br",{}),(0,r.jsx)("span",{className:"text-xs text-gray-500",children:n("apiKeyModal.enterKeyOptionalDesc")})]}):(0,r.jsxs)(r.Fragment,{children:[n("apiKeyModal.enterKeyRequired"),(0,r.jsx)("br",{}),(0,r.jsx)("span",{className:"text-xs text-gray-500",children:n("apiKeyModal.enterKeyRequiredDesc")})]})}),(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)("div",{children:[(0,r.jsxs)("label",{className:"block text-xs font-bold text-gray-500 uppercase tracking-wider mb-2",children:[n("apiKeyModal.labelOptional")," ",i&&(0,r.jsxs)("span",{className:"text-gray-600 normal-case",children:["(",n("common.optional"),")"]})]}),(0,r.jsx)("input",{type:"password",value:o,onChange:e=>d(e.target.value),placeholder:"AIzaSy...",className:"w-full bg-black/30 border border-white/10 rounded-lg px-4 py-3 text-white placeholder-gray-600 focus:border-blue-500 focus:outline-none transition-colors font-mono text-sm"})]}),(0,r.jsxs)("div",{className:"flex gap-3 pt-4",children:[(0,r.jsx)("button",{onClick:a,className:"flex-1 px-4 py-2 rounded-lg border border-white/10 text-gray-400 hover:bg-white/5 hover:text-white transition-colors text-sm font-medium",children:n(i?"common.close":"common.cancel")}),o.trim()?(0,r.jsx)("button",{onClick:()=>{if(o.trim()){var e;e=o.trim(),sessionStorage.setItem(T,e),l(o.trim()),a()}},className:"flex-1 px-4 py-2 rounded-lg bg-blue-600 text-white font-bold hover:bg-blue-500 transition-colors text-sm",children:n("apiKeyModal.saveButton")}):i&&P()?(0,r.jsx)("button",{onClick:()=>{sessionStorage.removeItem(T),d(""),l(""),a()},className:"flex-1 px-4 py-2 rounded-lg bg-orange-600 text-white font-bold hover:bg-orange-500 transition-colors text-sm",children:n("apiKeyModal.useFreeMode")}):null]}),(0,r.jsx)("div",{className:"text-center pt-2",children:(0,r.jsx)("a",{href:"https://aistudio.google.com/app/apikey",target:"_blank",rel:"noopener noreferrer",className:"text-xs text-blue-400 hover:text-blue-300 underline",children:n("apiKeyModal.getApiKey")})})]})]})}):null},L=()=>{let{locale:e,toggleLocale:t,t:s}=(0,y.useLocale)();return(0,r.jsxs)("button",{onClick:t,className:"flex items-center gap-1.5 px-3 py-1.5 rounded-lg bg-white/5 border border-white/10 hover:bg-white/10 transition-colors text-sm font-medium text-gray-300 hover:text-white",title:"zh"===e?"Switch to English":"切換至繁體中文",children:[(0,r.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9"})}),(0,r.jsx)("span",{children:s(`language.${e}`)})]})};function A(e){let{imagePreview:t,productName:s,productInfo:a,productUrl:l,refCopy:i,showAnalyzeButton:n,onFileChange:o,onProductNameChange:d,onProductInfoChange:c,onProductUrlChange:u,onRefCopyChange:p,onAnalyze:m}=e,{t:h}=(0,y.useLocale)();return(0,r.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 w-full max-w-4xl mx-auto md:mx-0 md:ml-0 mt-8 animate-in fade-in slide-in-from-bottom-4 duration-500",children:[(0,r.jsx)("div",{className:"order-2 md:order-1",children:(0,r.jsxs)("label",{className:`flex flex-col items-center justify-center w-full h-full border-2 border-dashed rounded-2xl cursor-pointer transition-all duration-300 relative overflow-hidden ${t?"border-blue-500 bg-[#15151a]":"border-gray-600 hover:border-gray-400 hover:bg-[#1a1a1f]"}`,children:[t?(0,r.jsxs)("div",{className:"w-full h-full relative group",children:[(0,r.jsx)("img",{src:t,alt:"Preview",className:"w-full h-full object-contain p-4"}),(0,r.jsx)("div",{className:"absolute inset-0 bg-black/60 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity",children:(0,r.jsx)("span",{className:"text-white font-medium",children:h("input.changeImage")})})]}):(0,r.jsxs)("div",{className:"flex flex-col items-center justify-center pt-5 pb-6",children:[(0,r.jsx)("svg",{className:"w-10 h-10 mb-3 text-gray-300",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"})}),(0,r.jsx)("p",{className:"mb-2 text-sm text-gray-300",children:h("input.uploadProduct")}),(0,r.jsx)("p",{className:"text-xs text-gray-500",children:h("input.supportedFormats")})]}),(0,r.jsx)("input",{type:"file",className:"hidden",onChange:o,accept:"image/*"})]})}),(0,r.jsxs)("div",{className:"order-1 md:order-2 flex flex-col gap-4",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-base font-bold text-gray-300 uppercase tracking-wider mb-2 text-center md:text-left",children:h("input.productName")}),(0,r.jsx)("input",{type:"text",value:s,onChange:e=>d(e.target.value),placeholder:h("input.productNamePlaceholder"),className:"w-full bg-[#15151a] border border-white/10 rounded-lg px-4 py-3 text-white placeholder-gray-600 focus:border-blue-500 focus:outline-none transition-colors"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-base font-bold text-gray-300 uppercase tracking-wider mb-2 text-center md:text-left",children:h("input.productInfo")}),(0,r.jsx)("textarea",{value:a,onChange:e=>c(e.target.value),placeholder:h("input.productInfoPlaceholder"),className:"w-full bg-[#15151a] border border-white/10 rounded-lg px-4 py-3 text-white placeholder-gray-600 focus:border-blue-500 focus:outline-none transition-colors h-24 resize-none text-sm leading-relaxed"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-base font-bold text-gray-300 uppercase tracking-wider mb-2 text-center md:text-left",children:h("input.productUrl")}),(0,r.jsx)("input",{type:"url",value:l,onChange:e=>u(e.target.value),placeholder:h("input.productUrlPlaceholder"),className:"w-full bg-[#15151a] border border-white/10 rounded-lg px-4 py-3 text-white placeholder-gray-600 focus:border-blue-500 focus:outline-none transition-colors"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-base font-bold text-gray-300 uppercase tracking-wider mb-2 text-center md:text-left",children:h("input.refCopy")}),(0,r.jsx)("textarea",{value:i,onChange:e=>p(e.target.value),placeholder:h("input.refCopyPlaceholder"),className:"w-full bg-[#15151a] border border-white/10 rounded-lg px-4 py-3 text-white placeholder-gray-600 focus:border-blue-500 focus:outline-none transition-colors h-24 resize-none text-sm leading-relaxed"})]}),n&&(0,r.jsxs)("button",{onClick:m,className:"mt-auto w-full py-4 bg-linear-to-r from-blue-600 to-indigo-600 text-white font-bold text-sm uppercase tracking-widest rounded-lg hover:opacity-90 transition-opacity shadow-lg shadow-blue-900/30 flex items-center justify-center gap-2",children:[(0,r.jsx)("span",{children:h("input.startButton")}),(0,r.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M14 5l7 7m0 0l-7 7m7-7H3"})})]})]})]})}function z(e){let{routes:t,activeRouteIndex:s,routeSupplements:a,onSelectRoute:l,onUpdateRoute:i,onUpdateSupplement:n}=e,{t:o}=(0,y.useLocale)();return(0,r.jsxs)("div",{className:"mb-10",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-6 border-b border-white/10 pb-4",children:[(0,r.jsx)("h3",{className:"text-xl font-bold text-white serif",children:o("phase1.title")}),(0,r.jsx)("span",{className:"text-xs text-gray-500",children:o("phase1.selectHint")})]}),(0,r.jsx)("div",{className:"flex flex-col gap-6",children:t.map((e,t)=>(0,r.jsxs)("div",{className:`p-6 rounded-xl border transition-all duration-300 flex flex-col gap-4 ${s===t?"bg-linear-to-br from-blue-600/20 to-indigo-600/20 border-blue-500 shadow-lg shadow-blue-900/30":"bg-[#15151a] border-white/10"}`,children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("div",{className:`text-xs font-bold uppercase tracking-wider ${s===t?"text-blue-400":"text-gray-500"}`,children:[o("phase1.routeLabel")," ",String.fromCharCode(65+t)]}),(0,r.jsx)("button",{onClick:()=>l(t),className:`px-3 py-1 rounded-full text-xs font-bold transition-colors ${s===t?"bg-blue-500 text-white":"bg-white/10 text-gray-400 hover:bg-white/20"}`,children:s===t?o("phase1.selected"):o("phase1.select")})]}),(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"text-[10px] font-bold uppercase tracking-wider text-gray-500 mb-1 block",children:o("phase1.routeName")}),(0,r.jsx)("input",{type:"text",value:e.route_name,onChange:r=>i(t,{...e,route_name:r.target.value}),className:"w-full bg-black/30 border border-white/10 rounded px-2 py-1 text-sm text-white focus:border-blue-500 focus:outline-none"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"text-[10px] font-bold uppercase tracking-wider text-gray-500 mb-1 block",children:o("phase1.headline")}),(0,r.jsx)("textarea",{value:e.headline,onChange:r=>i(t,{...e,headline:r.target.value}),className:"w-full bg-black/30 border border-white/10 rounded px-2 py-1 text-sm text-blue-200 focus:border-blue-500 focus:outline-none font-medium resize-none h-12"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"text-[10px] font-bold uppercase tracking-wider text-gray-500 mb-1 block",children:o("phase1.subhead")}),(0,r.jsx)("textarea",{value:e.subhead,onChange:r=>i(t,{...e,subhead:r.target.value}),className:"w-full bg-black/30 border border-white/10 rounded px-2 py-1 text-xs text-gray-300 focus:border-blue-500 focus:outline-none resize-none h-12"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"text-[10px] font-bold uppercase tracking-wider text-gray-500 mb-1 block",children:o("phase1.styleDescription")}),(0,r.jsx)("textarea",{value:e.style_brief,onChange:r=>i(t,{...e,style_brief:r.target.value}),className:"w-full bg-black/30 border border-white/10 rounded px-2 py-1 text-xs text-gray-300 focus:border-blue-500 focus:outline-none resize-none h-20"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"text-[10px] font-bold uppercase tracking-wider text-gray-500 mb-1 block",children:o("phase1.targetAudience")}),(0,r.jsx)("textarea",{value:e.target_audience,onChange:r=>i(t,{...e,target_audience:r.target.value}),className:"w-full bg-black/30 border border-white/10 rounded px-2 py-1 text-xs text-gray-300 focus:border-blue-500 focus:outline-none resize-none h-16"})]}),(0,r.jsxs)("div",{children:[(0,r.jsxs)("label",{className:"text-[10px] font-bold uppercase tracking-wider text-blue-400 mb-1 block",children:["💡 ",o("phase1.supplement")]}),(0,r.jsx)("textarea",{value:a[t],onChange:e=>n(t,e.target.value),placeholder:o("phase1.supplementPlaceholder"),className:"w-full bg-blue-900/10 border border-blue-500/30 rounded px-2 py-2 text-xs text-gray-300 placeholder-gray-600 focus:border-blue-500 focus:outline-none resize-none h-16"})]})]})]},t))})]})}let O={blue:{border:"border-blue-500",bg:"bg-blue-500/10",checkbox:"border-blue-500 bg-blue-500"},purple:{border:"border-purple-500",bg:"bg-purple-500/10",checkbox:"border-purple-500 bg-purple-500"},pink:{border:"border-pink-500",bg:"bg-pink-500/10",checkbox:"border-pink-500 bg-pink-500"},green:{border:"border-green-500",bg:"bg-green-500/10",checkbox:"border-green-500 bg-green-500"},amber:{border:"border-amber-500",bg:"bg-amber-500/10",checkbox:"border-amber-500 bg-amber-500"}},M=s.default.memo(e=>{let{checked:t,onChange:s,name:a,ratioLabel:l,description:i,color:n}=e,o=O[n];return(0,r.jsxs)("label",{className:`cursor-pointer p-6 rounded-xl border-2 transition-all ${t?`${o.border} ${o.bg}`:"border-white/10 bg-white/5 hover:border-white/20"}`,children:[(0,r.jsx)("input",{type:"checkbox",checked:t,onChange:e=>s(e.target.checked),className:"sr-only"}),(0,r.jsxs)("div",{className:"flex items-start gap-3",children:[(0,r.jsx)("div",{className:`w-5 h-5 rounded border-2 flex items-center justify-center shrink-0 mt-0.5 ${t?o.checkbox:"border-gray-500"}`,children:t&&(0,r.jsx)("svg",{className:"w-3 h-3 text-white",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:3,d:"M5 13l4 4L19 7"})})}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"font-bold text-white mb-1",children:a}),(0,r.jsx)("div",{className:"text-xs text-gray-400",children:l}),(0,r.jsx)("div",{className:"text-xs text-gray-500 mt-1",children:i})]})]})]})});function U(e){let{sizeSelection:t,errorMsg:s,onSizeChange:a,onConfirm:l}=e,{t:i}=(0,y.useLocale)();return(0,r.jsxs)("div",{className:"animate-in fade-in slide-in-from-bottom-4 duration-500",children:[(0,r.jsx)("h3",{className:"text-xl font-bold text-white serif mb-2",children:i("phase2.title")}),(0,r.jsx)("p",{className:"text-sm text-gray-400 mb-6",children:i("phase2.description")}),s&&(0,r.jsx)("div",{className:"mb-4 p-3 bg-red-500/10 border border-red-500/30 rounded-lg text-red-400 text-sm",children:s}),(0,r.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4 mb-8",children:[(0,r.jsx)(M,{ratio:"1:1",checked:t["1:1"],onChange:e=>a("1:1",e),name:i("sizes.1:1.name"),ratioLabel:i("sizes.1:1.ratio"),description:i("sizes.1:1.description"),color:"blue"}),(0,r.jsx)(M,{ratio:"9:16",checked:t["9:16"],onChange:e=>a("9:16",e),name:i("sizes.9:16.name"),ratioLabel:i("sizes.9:16.ratio"),description:i("sizes.9:16.description"),color:"purple"}),(0,r.jsx)(M,{ratio:"4:5",checked:t["4:5"],onChange:e=>a("4:5",e),name:i("sizes.4:5.name"),ratioLabel:i("sizes.4:5.ratio"),description:i("sizes.4:5.description"),color:"pink"}),(0,r.jsx)(M,{ratio:"16:9",checked:t["16:9"],onChange:e=>a("16:9",e),name:i("sizes.16:9.name"),ratioLabel:i("sizes.16:9.ratio"),description:i("sizes.16:9.description"),color:"green"}),(0,r.jsx)(M,{ratio:"1:1-commercial",checked:t["1:1-commercial"],onChange:e=>a("1:1-commercial",e),name:i("sizes.1:1-commercial.name"),ratioLabel:i("sizes.1:1-commercial.ratio"),description:i("sizes.1:1-commercial.description"),color:"amber"})]}),(0,r.jsx)("div",{className:"flex justify-center",children:(0,r.jsx)("button",{onClick:l,className:"px-12 py-4 bg-linear-to-r from-blue-600 to-indigo-600 text-white font-bold text-lg rounded-xl hover:opacity-90 transition-opacity shadow-lg shadow-blue-900/30 flex items-center gap-3",children:(0,r.jsx)("span",{children:i("phase2.confirmButton")})})})]})}M.displayName="SizeCheckbox";var F=e.i(83968),D=e.i(81437);function $(){let{t:e}=(0,y.useLocale)();return(0,r.jsxs)("div",{className:"jsx-fadb241e6f0632f6 flex-1 flex flex-col items-center justify-center space-y-8 text-center animate-in fade-in zoom-in duration-500",children:[(0,r.jsxs)("div",{className:"jsx-fadb241e6f0632f6 relative w-64 h-16 overflow-hidden",children:[(0,r.jsx)("div",{className:"jsx-fadb241e6f0632f6 absolute inset-0 flex items-center justify-between px-2",children:[...Array(8)].map((e,t)=>(0,r.jsx)("div",{style:{animationDelay:`${.1*t}s`},className:"jsx-fadb241e6f0632f6 w-3 h-3 bg-blue-400/60 rounded-full animate-pulse"},t))}),(0,r.jsx)("div",{style:{animation:"pacman-move 3s ease-in-out infinite"},className:"jsx-fadb241e6f0632f6 absolute top-1/2 -translate-y-1/2 w-12 h-12",children:(0,r.jsx)(D.default,{src:"/images/logo.svg",alt:"Loading",width:48,height:48,className:"w-full h-full object-contain drop-shadow-[0_0_8px_rgba(59,130,246,0.5)]",style:{animation:"pacman-chomp 0.3s ease-in-out infinite"}})}),(0,r.jsx)("div",{style:{animation:"pacman-trail 3s ease-in-out infinite"},className:"jsx-fadb241e6f0632f6 absolute top-1/2 -translate-y-1/2 h-1 bg-gradient-to-r from-blue-500/50 to-transparent rounded-full"})]}),(0,r.jsx)(F.default,{id:"fadb241e6f0632f6",children:"@keyframes pacman-move{0%{left:-48px}to{left:calc(100% + 48px)}}@keyframes pacman-chomp{0%,to{transform:scale(1)}50%{transform:scale(.9)scaleX(1.1)}}@keyframes pacman-trail{0%{opacity:0;width:0;left:0}10%{opacity:.5}to{opacity:0;width:100%;left:0}}"}),(0,r.jsxs)("div",{className:"jsx-fadb241e6f0632f6",children:[(0,r.jsx)("h2",{className:"jsx-fadb241e6f0632f6 text-2xl font-bold text-white mb-2",children:e("analyzing.title")}),(0,r.jsx)("p",{className:"jsx-fadb241e6f0632f6 text-gray-400",children:e("analyzing.description")})]})]})}let B={"1:1":!1,"9:16":!1,"4:5":!1,"16:9":!1,"1:1-commercial":!1},K={appState:g.IDLE,errorMsg:"",selectedFile:null,imagePreview:null,productName:"",productInfo:"",productUrl:"",refCopy:"",analysisResult:null,activeRouteIndex:0,editedRoutes:[],routeSupplements:["","",""],sizeSelection:B,contentPlan:null,editedContentSets:[],productImage:null,secondaryProduct:null,brandLogo:null,apiKey:"",serverHasKey:!1,isGuideOpen:!1,isApiKeyModalOpen:!1};function G(e,t){switch(t.type){case"SET_APP_STATE":return{...e,appState:t.payload};case"SET_ERROR":return{...e,errorMsg:t.payload};case"CLEAR_ERROR":return{...e,errorMsg:""};case"SET_SELECTED_FILE":return{...e,selectedFile:t.payload.file,imagePreview:t.payload.preview,analysisResult:null,contentPlan:null,editedContentSets:[],sizeSelection:B,appState:g.IDLE};case"SET_INPUT":return{...e,[t.payload.field]:t.payload.value};case"SET_ANALYSIS_RESULT":return{...e,analysisResult:t.payload,editedRoutes:t.payload.marketing_routes,appState:g.RESULTS};case"SET_ACTIVE_ROUTE":return{...e,activeRouteIndex:t.payload,contentPlan:null,editedContentSets:[],sizeSelection:B,appState:e.appState===g.SUITE_READY||e.appState===g.SIZE_SELECTION||e.appState===g.PLANNING?g.RESULTS:e.appState};case"UPDATE_EDITED_ROUTE":let r=[...e.editedRoutes];return r[t.payload.index]=t.payload.route,{...e,editedRoutes:r};case"UPDATE_ROUTE_SUPPLEMENT":let s=[...e.routeSupplements];return s[t.payload.index]=t.payload.value,{...e,routeSupplements:s};case"SET_SIZE_SELECTION":return{...e,sizeSelection:{...e.sizeSelection,[t.payload.ratio]:t.payload.checked}};case"RESET_SIZE_SELECTION":return{...e,sizeSelection:B};case"SET_CONTENT_PLAN":return{...e,contentPlan:t.payload,editedContentSets:t.payload.content_sets,appState:g.SUITE_READY};case"SET_EDITED_CONTENT_SETS":return{...e,editedContentSets:t.payload};case"SET_PRODUCT_IMAGE":return{...e,productImage:t.payload};case"SET_SECONDARY_PRODUCT":return{...e,secondaryProduct:t.payload};case"SET_BRAND_LOGO":return{...e,brandLogo:t.payload};case"SET_API_KEY":return{...e,apiKey:t.payload,errorMsg:""};case"SET_SERVER_HAS_KEY":return{...e,serverHasKey:t.payload};case"SET_GUIDE_OPEN":return{...e,isGuideOpen:t.payload};case"SET_API_KEY_MODAL_OPEN":return{...e,isApiKeyModalOpen:t.payload};case"RESET_RESULTS":return{...e,analysisResult:null,contentPlan:null,editedContentSets:[],sizeSelection:B,appState:g.IDLE};case"RESET_PHASE2":return{...e,contentPlan:null,editedContentSets:[],sizeSelection:B,appState:g.SIZE_SELECTION};default:return e}}function H(){let{t:e,locale:t}=(0,y.useLocale)(),[a,l]=(0,s.useReducer)(G,K),{appState:i,errorMsg:n,selectedFile:o,imagePreview:d,productName:c,productInfo:h,productUrl:x,refCopy:f,analysisResult:w,activeRouteIndex:N,editedRoutes:S,routeSupplements:_,sizeSelection:E,contentPlan:k,productImage:C,secondaryProduct:T,brandLogo:O,apiKey:M,serverHasKey:F,isGuideOpen:B,isApiKeyModalOpen:H}=a;s.default.useEffect(()=>{let e=P();e&&l({type:"SET_API_KEY",payload:e}),u().then(e=>{l({type:"SET_SERVER_HAS_KEY",payload:e})})},[]);let W=(0,s.useCallback)(e=>{l({type:"SET_API_KEY",payload:e})},[]),Y=(0,s.useCallback)(e=>{if(e.target.files&&e.target.files[0]){let t=e.target.files[0],r=new FileReader;r.onload=e=>{l({type:"SET_SELECTED_FILE",payload:{file:t,preview:e.target?.result}})},r.readAsDataURL(t)}},[]),q=(0,s.useCallback)(async()=>{if(o){if(!M&&!F)return void l({type:"SET_API_KEY_MODAL_OPEN",payload:!0});l({type:"CLEAR_ERROR"}),l({type:"SET_APP_STATE",payload:g.ANALYZING});try{let e=await p(o,c,h,x,M||void 0,t);l({type:"SET_ANALYSIS_RESULT",payload:e})}catch(t){console.error(t),l({type:"SET_ERROR",payload:t instanceof Error?t.message:e("errors.unexpectedError")}),l({type:"SET_APP_STATE",payload:g.ERROR})}}},[o,M,F,c,h,x,t,e]),V=(0,s.useCallback)(()=>{if(w){if(!M&&!F)return void l({type:"SET_API_KEY_MODAL_OPEN",payload:!0});l({type:"CLEAR_ERROR"}),l({type:"SET_APP_STATE",payload:g.SIZE_SELECTION}),setTimeout(()=>{document.getElementById("phase2-section")?.scrollIntoView({behavior:"smooth",block:"start"})},300)}},[w,M,F]),Z=(0,s.useCallback)(async()=>{if(!w)return;let r=Object.entries(E).filter(e=>{let[,t]=e;return t}).map(e=>{let[t]=e;return t});if(0===r.length)return void l({type:"SET_ERROR",payload:e("phase2.selectAtLeastOne")});let s=S[N],a=w.product_analysis,i=_[N],n=i?`${f}
|
|
11
|
-
|
|
12
|
-
${e("prompt.strategySupplement")}
|
|
13
|
-
${i}`:f;l({type:"CLEAR_ERROR"}),l({type:"SET_APP_STATE",payload:g.PLANNING});try{let e=await m(s,a,n,r,M||void 0,t);l({type:"SET_CONTENT_PLAN",payload:e}),setTimeout(()=>{document.getElementById("content-section")?.scrollIntoView({behavior:"smooth",block:"start"})},300)}catch(t){l({type:"SET_ERROR",payload:t instanceof Error?t.message:e("errors.contentPlanFailed")}),l({type:"SET_APP_STATE",payload:g.SIZE_SELECTION})}},[w,E,S,N,_,f,M,t,e]);return(0,r.jsxs)("div",{className:"min-h-screen text-slate-200 selection:bg-blue-500 selection:text-white font-sans flex flex-col",children:[(0,r.jsx)(j,{isOpen:B,onClose:()=>l({type:"SET_GUIDE_OPEN",payload:!1})}),(0,r.jsx)(I,{isOpen:H,onClose:()=>l({type:"SET_API_KEY_MODAL_OPEN",payload:!1}),onSave:W,serverHasKey:F}),(0,r.jsx)("header",{className:"w-full py-6 border-b border-white/5 bg-black/20 backdrop-blur-md sticky top-0 z-50",children:(0,r.jsxs)("div",{className:"container mx-auto px-6 flex items-center justify-between",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3 cursor-pointer",onClick:()=>l({type:"SET_APP_STATE",payload:g.IDLE}),children:[(0,r.jsx)("div",{className:"w-8 h-8 flex items-center justify-center",children:(0,r.jsx)(D.default,{src:"/images/logo.svg",alt:"Logo",width:32,height:32,className:"w-full h-full object-contain animate-float"})}),(0,r.jsx)("h1",{className:"text-lg font-bold text-white hidden md:block",children:e("common.appName")})]}),(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)(L,{}),(0,r.jsx)("button",{onClick:()=>l({type:"SET_GUIDE_OPEN",payload:!0}),className:"text-gray-400 hover:text-white text-sm font-bold transition-colors",children:e("header.guide")}),(0,r.jsx)("button",{onClick:()=>l({type:"SET_API_KEY_MODAL_OPEN",payload:!0}),className:"text-blue-400 hover:text-blue-300 text-sm font-bold",children:F?M?e("header.apiSettingsCustom"):e("header.apiSettingsFree"):M?e("header.apiSettingsConnected"):e("header.apiSettings")})]})]})}),(0,r.jsxs)("main",{className:"container mx-auto px-4 py-8 flex-1 flex flex-col",children:[n&&(0,r.jsxs)("div",{className:"w-full max-w-2xl mx-auto mb-8 p-4 bg-red-900/20 border border-red-500/50 rounded-lg text-red-200 text-center flex items-center justify-between",children:[(0,r.jsx)("span",{children:n}),(0,r.jsx)("button",{onClick:()=>l({type:"RESET_RESULTS"}),className:"text-sm underline hover:text-white",children:e("common.reset")})]}),i===g.ANALYZING&&(0,r.jsx)($,{}),i===g.IDLE&&(0,r.jsxs)("div",{className:"flex-1 flex flex-col items-center mt-8 text-center",children:[(0,r.jsxs)("h2",{className:"text-4xl md:text-6xl font-bold text-white serif mb-4 leading-tight",children:[e("home.heroTitle"),(0,r.jsx)("br",{}),e("home.heroTitle2")]}),(0,r.jsx)("p",{className:"text-gray-400 max-w-xl mx-auto mb-8 text-lg mt-2",children:e("home.heroDescription")}),(0,r.jsx)(A,{imagePreview:d,productName:c,productInfo:h,productUrl:x,refCopy:f,showAnalyzeButton:!!o&&i===g.IDLE,onFileChange:Y,onProductNameChange:e=>l({type:"SET_INPUT",payload:{field:"productName",value:e}}),onProductInfoChange:e=>l({type:"SET_INPUT",payload:{field:"productInfo",value:e}}),onProductUrlChange:e=>l({type:"SET_INPUT",payload:{field:"productUrl",value:e}}),onRefCopyChange:e=>l({type:"SET_INPUT",payload:{field:"refCopy",value:e}}),onAnalyze:q})]}),(i===g.RESULTS||i===g.SIZE_SELECTION||i===g.PLANNING||i===g.SUITE_READY)&&(()=>{if(!w||!d)return null;let t=w.marketing_routes[N];return(0,r.jsxs)("div",{className:"w-full max-w-6xl mx-auto px-4 pb-20",children:[(0,r.jsx)(v,{analysis:w.product_analysis,imageSrc:d}),(0,r.jsx)(z,{routes:S,activeRouteIndex:N,routeSupplements:_,onSelectRoute:e=>l({type:"SET_ACTIVE_ROUTE",payload:e}),onUpdateRoute:(e,t)=>l({type:"UPDATE_EDITED_ROUTE",payload:{index:e,route:t}}),onUpdateSupplement:(e,t)=>l({type:"UPDATE_ROUTE_SUPPLEMENT",payload:{index:e,value:t}})}),(0,r.jsx)("div",{className:"mb-10 flex justify-center",children:(0,r.jsx)("button",{onClick:()=>{k?(l({type:"RESET_PHASE2"}),setTimeout(()=>{document.getElementById("phase2-section")?.scrollIntoView({behavior:"smooth",block:"start"})},300)):V()},disabled:i===g.PLANNING,className:"px-12 py-4 bg-linear-to-r from-blue-600 to-indigo-600 text-white font-bold text-lg rounded-xl hover:opacity-90 transition-opacity shadow-lg shadow-blue-900/30 flex items-center gap-3 disabled:opacity-50 disabled:cursor-not-allowed",children:i===g.PLANNING?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(b,{className:"w-5 h-5"}),(0,r.jsx)("span",{children:e("phase1.processing")})]}):(0,r.jsx)("span",{children:k?e("phase1.retryButton"):e("phase1.continueButton")})})}),(0,r.jsxs)("div",{className:"border-t border-white/10 pt-12",id:"phase2-section",children:[i===g.SIZE_SELECTION&&(0,r.jsx)(U,{sizeSelection:E,errorMsg:n,onSizeChange:(e,t)=>l({type:"SET_SIZE_SELECTION",payload:{ratio:e,checked:t}}),onConfirm:Z}),i===g.PLANNING&&(0,r.jsxs)("div",{className:"bg-[#1e1e24] rounded-2xl p-8 border border-blue-500/20 flex items-center justify-center gap-4 animate-in fade-in duration-300",children:[(0,r.jsx)(b,{className:"w-6 h-6 text-blue-500"}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-lg font-bold text-white mb-1",children:e("phase2.planningTitle")}),(0,r.jsxs)("p",{className:"text-sm text-gray-400",children:[e("phase2.planningDescription"),(0,r.jsxs)("strong",{children:['"',t.route_name,'"']})," ",e("phase2.planningDescription2")]})]})]})]}),(i===g.SUITE_READY||k)&&k&&(0,r.jsx)("div",{className:"mt-12 relative",id:"content-section",children:(0,r.jsx)(R,{plan:k,onContentUpdate:e=>l({type:"SET_EDITED_CONTENT_SETS",payload:e}),apiKey:M,productImage:C,secondaryProduct:T,brandLogo:O,onProductImageChange:e=>l({type:"SET_PRODUCT_IMAGE",payload:e}),onSecondaryProductChange:e=>l({type:"SET_SECONDARY_PRODUCT",payload:e}),onBrandLogoChange:e=>l({type:"SET_BRAND_LOGO",payload:e})})})]})})()]})]})}e.s(["default",()=>H],31713)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,32491,e=>{e.v({common:{appName:"不想努力了",loading:"載入中...",error:"錯誤",success:"成功",cancel:"取消",close:"關閉",save:"儲存",reset:"重置",confirm:"確認",optional:"選填",required:"必填",unknownError:"未知錯誤"},header:{guide:"使用方式",apiSettings:"連線努力",apiSettingsConnected:"連線努力 (已連線)",apiSettingsFree:"API 設定 (免費)",apiSettingsCustom:"API 設定 (自訂)"},home:{heroTitle:"打造完整品牌視覺資產?",heroTitle2:"不用,我不想努力了。",heroDescription:"讓 小GG 幫你結合產品識別、品牌故事與競品策略,你只需要負責呼吸就好"},input:{uploadProduct:"上傳產品圖片",supportedFormats:"支援 JPG, PNG",changeImage:"更換圖片",productName:"產品名稱",productNamePlaceholder:"例如:我大玫瑰洗面乳...",productInfo:"產品資訊(選填)",productInfoPlaceholder:"品牌故事、核心價值、產品特色...",productUrl:"產品網址(選填)",productUrlPlaceholder:"https://example.com/product",refCopy:"參考文案 / 競品參考(選填)",refCopyPlaceholder:"貼上同類型商品的熱銷文案,或競品官網內容。AI 將拆解其「說服邏輯」...",startButton:"啟動努力"},analyzing:{title:"小GG已上線,先讓他努力一下",description:"(正在假裝很專業地分析你的產品)"},phase1:{title:"讓我努力步驟一",selectHint:"選擇一條路線後點擊「繼續努力」",routeLabel:"努力方案",selected:"已選擇",select:"選擇",routeName:"路線名稱",headline:"主打標語",subhead:"副標題",styleDescription:"視覺風格",targetAudience:"目標受眾",supplement:"補充說明(選填)",supplementPlaceholder:"可以補充任何想法、特殊需求或調整方向...",continueButton:"繼續努力",retryButton:"再重新努力一次",processing:"哭勒..."},phase2:{title:"努力步驟二:選擇圖片尺寸",description:"請選擇您需要的圖片尺寸(可多選),每個尺寸將生成 3 組不同的內容方案",selectAtLeastOne:"請至少選擇一個圖片尺寸",confirmButton:"確認尺寸,讓我努力一下",planningTitle:"不努力步驟二",planningDescription:"小GG正在爆肝寫腳本中,正依照",planningDescription2:"產出建議,先等著看看他的努力"},sizes:{"1:1":{name:"FB 貼文",ratio:"1:1 方形圖",description:"適合:FB 貼文、IG 輪播、電商主圖"},"9:16":{name:"限時動態 / Stories",ratio:"9:16 直式長圖",description:"適合:IG Stories、Reels、手機全螢幕"},"4:5":{name:"IG 貼文",ratio:"4:5 直式圖",description:"適合:IG Feed 主頁、優化手機瀏覽"},"16:9":{name:"橫式貼文",ratio:"16:9 橫式長圖",description:"適合:封面、廣告圖片"},"1:1-commercial":{name:"商業攝影",ratio:"1:1 方形圖",description:"適合:電商主圖、輪播圖、專業商品攝影"}},contentSuite:{settingsTitle:"爆肝產圖設定",settingsDescription:"上傳產品圖或品牌 Logo,讓 AI 生成圖片時使用(隨時可以調整)",mainProduct:"主產品圖片(選填)",secondaryProduct:"副產品圖片(選填)",secondaryProductHint:"與主產品融合展示",brandLogo:"品牌 Logo(選填)",clickToUpload:"點擊上傳",clickToUploadMain:"點擊上傳主產品",clickToUploadSecondary:"點擊上傳副產品",clickToUploadLogo:"點擊上傳品牌 Logo",changeImage:"更換圖片",changeLogo:"更換 Logo",reviewMode:"1. 內容來嘴看看",productionMode:"2. 爆肝產圖去",reviewTitle:"內容來嘴看看",reviewDescription:"檢查看看小GG剛剛生了什麼內容,標題不對味?內文有點怪?沒關係,你想改就改。修改後記得點擊「重新生成 Prompt」按鈕。",plan:"方案",sets:"組方案",title:"標題",titleLabel:"標題 (Title)",copy:"文案",copyLabel:"內文 (Copy)",visualSummary:"構圖摘要 (Visual Summary)",visualSummaryCommercial:"商業攝影模式",visualSummaryPlaceholder:"描述畫面構圖、背景、光線、氛圍等視覺元素...",visualSummaryHint:"修改後點擊「重新生成 Prompt」按鈕更新視覺提示詞",visualSummaryHintCommercial:"排列方式、構圖摘要修改後,點擊「重新生成 Prompt」按鈕更新視覺提示詞",visualPrompt:"視覺提示詞 (Prompt) - AI 生成",regeneratePrompt:"重新生成 Prompt",regenerating:"生成中...",arrangement:"排列方式",arrangementSingle:"單品特寫",arrangementSingleDesc:"單一產品置中展示",arrangementFan:"扇形展開",arrangementFanDesc:"多產品呈扇形排列",arrangementGrid:"整齊並排",arrangementGridDesc:"產品整齊排列成行",arrangementStack:"自然堆疊",arrangementStackDesc:"產品自然層疊擺放",arrangementCustom:"自訂",arrangementCustomDesc:"使用構圖摘要描述",reviewInfoTitle:"內容來嘴看看",reviewInfoDescription:"檢查看看小GG剛剛生了什麼內容,標題不對味?內文有點怪?沒關係,你想改就改。修改後記得點擊「重新生成 Prompt」按鈕。",regeneratePromptFailed:"重新生成 Prompt 失敗:"},production:{generating:"生成中...",pleaseWait:"請稍候片刻",uploadProductFirst:"請先上傳產品圖",uploadReferenceFirst:"請先上傳參考圖",generateFailed:"生成失敗",download:"下載",redraw:"重繪",showContent:"顯示內容(標題 + 文案)",titleInput:"標題",titlePlaceholder:"輸入標題",copyInput:"文案",copyPlaceholder:"輸入文案",promptMode:"提詞版",referenceMode:"參考版",referenceSettings:"參考圖設定",uploadReference:"上傳參考圖",changeReference:"更換參考圖",similarity:"相似度",similarityLow:"低相似度",similarityLowDesc:"創意發揮",similarityMedium:"中等相似度",similarityMediumDesc:"適度參考",similarityHigh:"高相似度",similarityHighDesc:"完全模仿"},apiKeyModal:{title:"API Key 設定",freeMode:"免費模式已啟用",freeModeDesc:"本站提供免費 API 額度,您可以直接使用而無需輸入自己的 API Key。",freeModeDesc2:"如需更高額度或避免流量限制,可輸入自己的 Key。",enterKeyOptional:"輸入您自己的 Google Gemini API Key(選填):",enterKeyOptionalDesc:"自訂 Key 可享有獨立額度,不受免費模式的流量限制。",enterKeyRequired:"請輸入您的 Google Gemini API Key 以啟用 AI 功能。",enterKeyRequiredDesc:"您的 Key 僅會儲存在瀏覽器中,不會傳送至伺服器。",labelOptional:"Gemini API Key",saveButton:"儲存設定",useFreeMode:"改用免費模式",getApiKey:"取得 API Key"},guideModal:{title:"使用方式",apiKeyNotice:"關於 API 金鑰",apiKeyDesc:"本工具使用 Google Gemini API。你可以在",apiKeyLink:"Google AI Studio",apiKeyDesc2:"免費取得 API 金鑰。輸入後會儲存在瀏覽器中,關閉分頁後自動清除。",step1Title:"上傳與資訊輸入|一次填完所有資訊",step1Desc:"上傳產品圖後,可以選填以下資訊(填越多,AI 越懂你):",step2Title:"Phase 1:策略選擇|秒速決定視覺方向",step2Desc:"AI 會分析產品後,立即提供",step2Desc2:"三條截然不同的視覺策略",step2Desc3:",每條路線包含:",step3Title:"選擇圖片尺寸|多平台支援",step3Desc:"選擇策略路線後,系統會自動進入尺寸選擇畫面,勾選你需要的尺寸:",step4Title:"上傳產品圖與 Logo|產圖前置準備",step4Desc:"在「爆肝產圖設定」區域,上傳以下素材(這些設定會在所有方案間共用):",step5Title:"腳本審閱模式|內容來嘴看看",step5Desc:"切換至「內容來嘴看看」模式,可以:",step6Title:"圖片製作模式|爆肝產圖",step6Desc:"切換至「爆肝產圖」模式,針對每個方案可以:"},language:{zh:"繁中",en:"EN"},productCard:{originalImage:"原始圖片",analysisReport:"分析報告",keyFeatures:"核心賣點"},promptCard:{generateFailed:"圖片生成失敗",loadRefImageFailed:"讀取參考圖片失敗",generatedImage:"已生成圖片",downloadImage:"下載圖片",aiDrawing:"AI 正在繪製中...",waitingGenerate:"等待生成",designSummary:"設計摘要",version:"版本",noSummary:"暫無摘要",refImageOptional:"參考圖片(選填)",remove:"移除",refImage:"參考圖片",uploadRefHint:"+ 上傳(例如:指定顏色/Logo)",prompt:"提示詞(Prompt)",collapse:"收起",edit:"編輯",editPromptPlaceholder:"編輯提示詞...",generating:"生成中...",regenerate:"重新生成",generateVisual:"生成視覺圖",clickToEdit:"點擊編輯"},errors:{unexpectedError:"分析過程中發生了意外錯誤。",contentPlanFailed:"內容規劃失敗",apiKeyInvalid:"API 金鑰無效或已過期。請檢查您的金鑰設定。",rateLimitExceeded:"請求過於頻繁,已達到 API 限制。請稍後再試。",networkError:"網路連線錯誤。請檢查您的網路連線後再試。",requestTimeout:"請求超時。請稍後再試,或嘗試生成較簡單的內容。",contentBlocked:"內容被安全過濾器阻擋。請嘗試調整您的輸入內容。",serviceUnavailable:"AI 服務暫時無法使用。請稍後再試。",apiKeyMissing:"找不到 API 金鑰。請在設定中輸入金鑰,或聯繫管理員。",rateLimitWarning:"請求過於頻繁,請稍後再試",noResponse:"Gemini 沒有回應文字",invalidFormat:"AI 返回了無效的格式,且自動修復失敗。請再試一次。",rateLimitRetry:"請求過於頻繁,請在 {seconds} 秒後再試"},prompt:{strategySupplement:"【策略補充說明】"}})},807,e=>{e.v({common:{appName:"I Give Up",loading:"Loading...",error:"Error",success:"Success",cancel:"Cancel",close:"Close",save:"Save",reset:"Reset",confirm:"Confirm",optional:"Optional",required:"Required",unknownError:"Unknown error"},header:{guide:"Guide",apiSettings:"Connection Hustle",apiSettingsConnected:"Hustling (Connected)",apiSettingsFree:"API Settings (Free)",apiSettingsCustom:"API Settings (Custom)"},home:{heroTitle:"Build a complete brand visual asset?",heroTitle2:"Nope. I quit.",heroDescription:"Let AI Director handle the boring stuff—product identity, brand story, competitor strategy. Your only job? Keep breathing."},input:{uploadProduct:"Upload Product Image",supportedFormats:"Supports JPG, PNG",changeImage:"Change Image",productName:"Product Name",productNamePlaceholder:"e.g., Rose Face Wash...",productInfo:"Product Info (Optional)",productInfoPlaceholder:"Brand story, core values, product features...",productUrl:"Product URL (Optional)",productUrlPlaceholder:"https://example.com/product",refCopy:"Reference Copy / Competitor Reference (Optional)",refCopyPlaceholder:"Paste successful ad copy from similar products. AI will analyze its persuasion logic...",startButton:"Let's Hustle"},analyzing:{title:"AI minion deployed. Let it grind.",description:"(Faking expertise like a pro)"},phase1:{title:"Step 1: The Grind Begins",selectHint:'Select a route and click "Keep Grinding"',routeLabel:"Route",selected:"Selected",select:"Select",routeName:"Route Name",headline:"Headline",subhead:"Subhead",styleDescription:"Visual Style",targetAudience:"Target Audience",supplement:"Additional Notes (Optional)",supplementPlaceholder:"Add any ideas, special requirements, or adjustments...",continueButton:"Keep Grinding",retryButton:"Ugh, Again",processing:"Sweating..."},phase2:{title:"Step 2: Select Image Sizes",description:"Select the image sizes you need (multiple selection). Each size will generate 3 different content sets.",selectAtLeastOne:"Please select at least one image size",confirmButton:"Lock it in. Here we go.",planningTitle:"Step 2: Still Grinding",planningDescription:"AI is burning the midnight oil on",planningDescription2:"Please wait for the results"},sizes:{"1:1":{name:"FB Post",ratio:"1:1 Square",description:"For: FB posts, IG carousel, e-commerce main image"},"9:16":{name:"Stories",ratio:"9:16 Vertical",description:"For: IG Stories, Reels, full-screen mobile"},"4:5":{name:"IG Post",ratio:"4:5 Portrait",description:"For: IG Feed, optimized for mobile"},"16:9":{name:"Landscape",ratio:"16:9 Horizontal",description:"For: Covers, ad banners"},"1:1-commercial":{name:"Commercial",ratio:"1:1 Square",description:"For: E-commerce main, carousel, professional product photography"}},contentSuite:{settingsTitle:"Overtime Image Settings",settingsDescription:"Upload product images or brand logo for AI to use (can be adjusted anytime)",mainProduct:"Main Product (Optional)",secondaryProduct:"Secondary Product (Optional)",secondaryProductHint:"Combined display with main product",brandLogo:"Brand Logo (Optional)",clickToUpload:"Click to upload",clickToUploadMain:"Click to upload main product",clickToUploadSecondary:"Click to upload secondary",clickToUploadLogo:"Click to upload brand logo",changeImage:"Change image",changeLogo:"Change logo",reviewMode:"1. Judge My Work",productionMode:"2. Crunch Time",reviewTitle:"Roast This Content",reviewDescription:'See what your AI minion cooked up. Hate the title? Copy feels off? Just fix it. Click "Regenerate Prompt" when done.',plan:"Plan",sets:"sets",title:"Title",titleLabel:"Title",copy:"Copy",copyLabel:"Copy",visualSummary:"Visual Summary",visualSummaryCommercial:"Commercial Mode",visualSummaryPlaceholder:"Describe composition, background, lighting, atmosphere...",visualSummaryHint:'Click "Regenerate Prompt" after editing to update',visualSummaryHintCommercial:'Click "Regenerate Prompt" after changing arrangement or visual summary',visualPrompt:"Visual Prompt - AI Generated",regeneratePrompt:"Regenerate Prompt",regenerating:"Generating...",arrangement:"Arrangement",arrangementSingle:"Single",arrangementSingleDesc:"Single product centered",arrangementFan:"Fan",arrangementFanDesc:"Fan-shaped arrangement",arrangementGrid:"Grid",arrangementGridDesc:"Organized grid layout",arrangementStack:"Stack",arrangementStackDesc:"Natural stacking",arrangementCustom:"Custom",arrangementCustomDesc:"Use visual summary",reviewInfoTitle:"Roast This Content",reviewInfoDescription:'See what your AI minion cooked up. Hate the title? Copy feels off? Just fix it. Click "Regenerate Prompt" when done.',regeneratePromptFailed:"Failed to regenerate prompt: "},production:{generating:"Generating...",pleaseWait:"Please wait",uploadProductFirst:"Please upload product image first",uploadReferenceFirst:"Please upload reference image first",generateFailed:"Generation failed",download:"Download",redraw:"Regenerate",showContent:"Show content (Title + Copy)",titleInput:"Title",titlePlaceholder:"Enter title",copyInput:"Copy",copyPlaceholder:"Enter copy",promptMode:"Prompt",referenceMode:"Reference",referenceSettings:"Reference Settings",uploadReference:"Upload reference",changeReference:"Change reference",similarity:"Similarity",similarityLow:"Low",similarityLowDesc:"Creative freedom",similarityMedium:"Medium",similarityMediumDesc:"Moderate reference",similarityHigh:"High",similarityHighDesc:"Close match"},apiKeyModal:{title:"API Key Settings",freeMode:"Free Mode Enabled",freeModeDesc:"This site provides free API quota. You can use it without entering your own API Key.",freeModeDesc2:"For higher quota or to avoid rate limits, enter your own Key.",enterKeyOptional:"Enter your Google Gemini API Key (Optional):",enterKeyOptionalDesc:"Custom Key enjoys independent quota without free mode limitations.",enterKeyRequired:"Please enter your Google Gemini API Key to enable AI features.",enterKeyRequiredDesc:"Your Key is stored locally in the browser only, not sent to any server.",labelOptional:"Gemini API Key",saveButton:"Save Settings",useFreeMode:"Use Free Mode",getApiKey:"Get API Key"},guideModal:{title:"User Guide",apiKeyNotice:"About API Key",apiKeyDesc:"This tool uses Google Gemini API. You can get a free API key at",apiKeyLink:"Google AI Studio",apiKeyDesc2:"The key is stored in your browser and cleared when you close the tab.",step1Title:"Upload & Input | Fill in all info at once",step1Desc:"After uploading product image, you can fill in the following (the more you fill, the better AI understands):",step2Title:"Phase 1: Strategy Selection | Instant visual direction",step2Desc:"After analyzing your product, AI provides",step2Desc2:"three different visual strategies",step2Desc3:", each including:",step3Title:"Select Image Sizes | Multi-platform support",step3Desc:"After selecting a strategy, choose the sizes you need:",step4Title:"Upload Product & Logo | Pre-generation setup",step4Desc:'In the "Image Generation Settings" area, upload these assets (shared across all plans):',step5Title:"Review Mode | Check the content",step5Desc:'Switch to "Review Content" mode to:',step6Title:"Production Mode | Generate images",step6Desc:'Switch to "Generate Images" mode to:'},language:{zh:"繁中",en:"EN"},productCard:{originalImage:"Original Image",analysisReport:"Analysis Report",keyFeatures:"Key Features"},promptCard:{generateFailed:"Image generation failed",loadRefImageFailed:"Failed to load reference image",generatedImage:"Generated image",downloadImage:"Download image",aiDrawing:"AI is drawing...",waitingGenerate:"Waiting",designSummary:"Design Summary",version:"Version",noSummary:"No summary",refImageOptional:"Reference Image (Optional)",remove:"Remove",refImage:"Reference image",uploadRefHint:"+ Upload (e.g., specify color/logo)",prompt:"Prompt",collapse:"Collapse",edit:"Edit",editPromptPlaceholder:"Edit prompt...",generating:"Generating...",regenerate:"Regenerate",generateVisual:"Generate Visual",clickToEdit:"Click to edit"},errors:{unexpectedError:"An unexpected error occurred during analysis.",contentPlanFailed:"Content planning failed",apiKeyInvalid:"API key is invalid or expired. Please check your key settings.",rateLimitExceeded:"Too many requests. API limit reached. Please try again later.",networkError:"Network connection error. Please check your connection and try again.",requestTimeout:"Request timed out. Please try again later or try generating simpler content.",contentBlocked:"Content was blocked by safety filters. Please adjust your input.",serviceUnavailable:"AI service is temporarily unavailable. Please try again later.",apiKeyMissing:"API key not found. Please enter your key in settings or contact administrator.",rateLimitWarning:"Too many requests, please try again later",noResponse:"Gemini returned no response",invalidFormat:"AI returned invalid format and auto-repair failed. Please try again.",rateLimitRetry:"Too many requests, please try again in {seconds} seconds"},prompt:{strategySupplement:"[Strategy Notes]"}})},29712,e=>{"use strict";var t=e.i(59031),i=e.i(27946),r=e.i(32491),o=e.i(807);let a=(0,i.createContext)(void 0),n="locale",s={zh:r.default,en:o.default};function l(e){let{children:r}=e,[o,l]=(0,i.useState)("en"),[c,d]=(0,i.useState)(!1);(0,i.useEffect)(()=>{let e=localStorage.getItem(n);e&&("zh"===e||"en"===e)?l(e):l("undefined"==typeof navigator?"en":(navigator.language||navigator.userLanguage||"").startsWith("zh")?"zh":"en"),d(!0)},[]);let p=(0,i.useCallback)(e=>{l(e),localStorage.setItem(n,e)},[]),u=(0,i.useCallback)(()=>{p("zh"===o?"en":"zh")},[o,p]),m=s[o],g=(0,i.useCallback)(e=>(function(e,t){let i=t.split("."),r=e;for(let e of i)if(!r||"object"!=typeof r||!(e in r))return t;else r=r[e];return"string"==typeof r?r:t})(m,e),[m]);return c?(0,t.jsx)(a.Provider,{value:{locale:o,setLocale:p,toggleLocale:u,t:g,messages:m},children:r}):null}function c(){let e=(0,i.useContext)(a);if(void 0===e)throw Error("useLocale must be used within a LocaleProvider");return e}e.s(["LocaleProvider",()=>l,"useLocale",()=>c])}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-200:#ffcaca;--color-red-300:#ffa3a3;--color-red-400:#ff6568;--color-red-500:#fb2c36;--color-red-900:#82181a;--color-orange-400:#ff8b1a;--color-orange-500:#fe6e00;--color-orange-600:#f05100;--color-amber-200:#fee685;--color-amber-300:#ffd236;--color-amber-400:#fcbb00;--color-amber-500:#f99c00;--color-yellow-400:#fac800;--color-yellow-600:#cd8900;--color-green-300:#7bf1a8;--color-green-400:#05df72;--color-green-500:#00c758;--color-green-600:#00a544;--color-green-900:#0d542b;--color-emerald-600:#009767;--color-blue-200:#bedbff;--color-blue-300:#90c5ff;--color-blue-400:#54a2ff;--color-blue-500:#3080ff;--color-blue-600:#155dfc;--color-blue-700:#1447e6;--color-blue-900:#1c398e;--color-indigo-200:#c7d2ff;--color-indigo-300:#a4b3ff;--color-indigo-400:#7d87ff;--color-indigo-500:#625fff;--color-indigo-600:#4f39f6;--color-indigo-900:#312c85;--color-purple-300:#d9b3ff;--color-purple-400:#c07eff;--color-purple-500:#ac4bff;--color-purple-600:#9810fa;--color-purple-900:#59168b;--color-pink-300:#fda5d5;--color-pink-400:#fb64b6;--color-pink-500:#f6339a;--color-pink-600:#e30076;--color-slate-200:#e2e8f0;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5dc;--color-gray-400:#99a1af;--color-gray-500:#6a7282;--color-gray-600:#4a5565;--color-gray-700:#364153;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-200:lab(86.017% 19.8815 7.75869);--color-red-300:lab(76.5514% 36.422 15.5335);--color-red-400:lab(63.7053% 60.745 31.3109);--color-red-500:lab(55.4814% 75.0732 48.8528);--color-red-900:lab(28.5139% 44.5539 29.0463);--color-orange-400:lab(70.0429% 42.5156 75.8207);--color-orange-500:lab(64.272% 57.1788 90.3583);--color-orange-600:lab(57.1026% 64.2584 89.8886);--color-amber-200:lab(91.7203% -.505269 49.9084);--color-amber-300:lab(86.4156% 6.13147 78.3961);--color-amber-400:lab(80.1641% 16.6016 99.2089);--color-amber-500:lab(72.7183% 31.8672 97.9407);--color-yellow-400:lab(83.2664% 8.65132 106.895);--color-yellow-600:lab(62.7799% 22.4197 86.1544);--color-green-300:lab(86.9953% -47.2691 25.0054);--color-green-400:lab(78.503% -64.9265 39.7492);--color-green-500:lab(70.5521% -66.5147 45.8073);--color-green-600:lab(59.0978% -58.6621 41.2579);--color-green-900:lab(30.797% -29.6927 17.382);--color-emerald-600:lab(55.0481% -49.9246 15.93);--color-blue-200:lab(86.15% -4.04379 -21.0797);--color-blue-300:lab(77.5052% -6.4629 -36.42);--color-blue-400:lab(65.0361% -1.42065 -56.9802);--color-blue-500:lab(54.1736% 13.3369 -74.6839);--color-blue-600:lab(44.0605% 29.0279 -86.0352);--color-blue-700:lab(36.9089% 35.0961 -85.6872);--color-blue-900:lab(26.1542% 15.7545 -51.5504);--color-indigo-200:lab(84.4329% 3.18977 -23.9688);--color-indigo-300:lab(74.0235% 8.54138 -41.6075);--color-indigo-400:lab(59.866% 22.4834 -64.4485);--color-indigo-500:lab(48.295% 38.3129 -81.9673);--color-indigo-600:lab(38.4009% 52.6132 -92.3857);--color-indigo-900:lab(23.3911% 24.6978 -50.4718);--color-purple-300:lab(78.3298% 26.2195 -34.9499);--color-purple-400:lab(63.6946% 47.6127 -59.2066);--color-purple-500:lab(52.0183% 66.11 -78.2316);--color-purple-600:lab(43.0295% 75.21 -86.5669);--color-purple-900:lab(24.9401% 45.2703 -51.2728);--color-pink-300:lab(77.8308% 38.525 -10.5394);--color-pink-400:lab(64.5597% 64.3615 -12.7988);--color-pink-500:lab(56.9303% 76.8162 -8.07021);--color-pink-600:lab(49.5493% 79.8381 2.31768);--color-slate-200:lab(91.7353% -.998765 -4.76968);--color-gray-200:lab(91.6229% -.159115 -2.26791);--color-gray-300:lab(85.1236% -.612259 -3.7138);--color-gray-400:lab(65.9269% -.832707 -8.17473);--color-gray-500:lab(47.7841% -.393182 -10.0268);--color-gray-600:lab(35.6337% -1.58697 -10.8425);--color-gray-700:lab(27.1134% -.956401 -12.3224)}}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-4{top:calc(var(--spacing)*4)}.top-8{top:calc(var(--spacing)*8)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.left-2{left:calc(var(--spacing)*2)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-100{z-index:100}.order-1{order:1}.order-2{order:2}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-12{margin-top:calc(var(--spacing)*12)}.mt-auto{margin-top:auto}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.aspect-3\/4{aspect-ratio:3/4}.aspect-\[4\/5\]{aspect-ratio:4/5}.aspect-\[9\/16\]{aspect-ratio:9/16}.aspect-\[16\/9\]{aspect-ratio:16/9}.aspect-square{aspect-ratio:1}.h-1{height:calc(var(--spacing)*1)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-24{height:calc(var(--spacing)*24)}.h-32{height:calc(var(--spacing)*32)}.h-40{height:calc(var(--spacing)*40)}.h-48{height:calc(var(--spacing)*48)}.h-full{height:100%}.max-h-\[90vh\]{max-height:90vh}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-64{width:calc(var(--spacing)*64)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-500{border-color:var(--color-amber-500)}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500)30%,transparent)}}.border-blue-500{border-color:var(--color-blue-500)}.border-blue-500\/10{border-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.border-blue-500\/10{border-color:color-mix(in oklab,var(--color-blue-500)10%,transparent)}}.border-blue-500\/20{border-color:#3080ff33}@supports (color:color-mix(in lab, red, red)){.border-blue-500\/20{border-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.border-blue-500\/30{border-color:#3080ff4d}@supports (color:color-mix(in lab, red, red)){.border-blue-500\/30{border-color:color-mix(in oklab,var(--color-blue-500)30%,transparent)}}.border-blue-600\/30{border-color:#155dfc4d}@supports (color:color-mix(in lab, red, red)){.border-blue-600\/30{border-color:color-mix(in oklab,var(--color-blue-600)30%,transparent)}}.border-gray-500{border-color:var(--color-gray-500)}.border-gray-500\/30{border-color:#6a72824d}@supports (color:color-mix(in lab, red, red)){.border-gray-500\/30{border-color:color-mix(in oklab,var(--color-gray-500)30%,transparent)}}.border-gray-600{border-color:var(--color-gray-600)}.border-green-500{border-color:var(--color-green-500)}.border-green-500\/30{border-color:#00c7584d}@supports (color:color-mix(in lab, red, red)){.border-green-500\/30{border-color:color-mix(in oklab,var(--color-green-500)30%,transparent)}}.border-green-600\/30{border-color:#00a5444d}@supports (color:color-mix(in lab, red, red)){.border-green-600\/30{border-color:color-mix(in oklab,var(--color-green-600)30%,transparent)}}.border-indigo-500\/30{border-color:#625fff4d}@supports (color:color-mix(in lab, red, red)){.border-indigo-500\/30{border-color:color-mix(in oklab,var(--color-indigo-500)30%,transparent)}}.border-orange-600\/30{border-color:#f051004d}@supports (color:color-mix(in lab, red, red)){.border-orange-600\/30{border-color:color-mix(in oklab,var(--color-orange-600)30%,transparent)}}.border-pink-500{border-color:var(--color-pink-500)}.border-pink-500\/30{border-color:#f6339a4d}@supports (color:color-mix(in lab, red, red)){.border-pink-500\/30{border-color:color-mix(in oklab,var(--color-pink-500)30%,transparent)}}.border-pink-600\/30{border-color:#e300764d}@supports (color:color-mix(in lab, red, red)){.border-pink-600\/30{border-color:color-mix(in oklab,var(--color-pink-600)30%,transparent)}}.border-purple-500{border-color:var(--color-purple-500)}.border-purple-500\/30{border-color:#ac4bff4d}@supports (color:color-mix(in lab, red, red)){.border-purple-500\/30{border-color:color-mix(in oklab,var(--color-purple-500)30%,transparent)}}.border-purple-500\/50{border-color:#ac4bff80}@supports (color:color-mix(in lab, red, red)){.border-purple-500\/50{border-color:color-mix(in oklab,var(--color-purple-500)50%,transparent)}}.border-purple-600\/30{border-color:#9810fa4d}@supports (color:color-mix(in lab, red, red)){.border-purple-600\/30{border-color:color-mix(in oklab,var(--color-purple-600)30%,transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.border-red-500\/20{border-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab, red, red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500)30%,transparent)}}.border-red-500\/50{border-color:#fb2c3680}@supports (color:color-mix(in lab, red, red)){.border-red-500\/50{border-color:color-mix(in oklab,var(--color-red-500)50%,transparent)}}.border-white\/5{border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.border-white\/5{border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-yellow-600\/30{border-color:#cd89004d}@supports (color:color-mix(in lab, red, red)){.border-yellow-600\/30{border-color:color-mix(in oklab,var(--color-yellow-600)30%,transparent)}}.bg-\[\#0a0a0f\]{background-color:#0a0a0f}.bg-\[\#1a1a1f\]{background-color:#1a1a1f}.bg-\[\#1e1e24\]{background-color:#1e1e24}.bg-\[\#15151a\]{background-color:#15151a}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500)10%,transparent)}}.bg-amber-500\/20{background-color:#f99c0033}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/20{background-color:color-mix(in oklab,var(--color-amber-500)20%,transparent)}}.bg-black{background-color:var(--color-black)}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab, red, red)){.bg-black\/20{background-color:color-mix(in oklab,var(--color-black)20%,transparent)}}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab, red, red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black)30%,transparent)}}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab, red, red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black)40%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab, red, red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black)60%,transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-blue-400\/60{background-color:#54a2ff99}@supports (color:color-mix(in lab, red, red)){.bg-blue-400\/60{background-color:color-mix(in oklab,var(--color-blue-400)60%,transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\/10{background-color:color-mix(in oklab,var(--color-blue-500)10%,transparent)}}.bg-blue-500\/20{background-color:#3080ff33}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\/20{background-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-blue-600\/20{background-color:#155dfc33}@supports (color:color-mix(in lab, red, red)){.bg-blue-600\/20{background-color:color-mix(in oklab,var(--color-blue-600)20%,transparent)}}.bg-blue-600\/80{background-color:#155dfccc}@supports (color:color-mix(in lab, red, red)){.bg-blue-600\/80{background-color:color-mix(in oklab,var(--color-blue-600)80%,transparent)}}.bg-blue-900\/10{background-color:#1c398e1a}@supports (color:color-mix(in lab, red, red)){.bg-blue-900\/10{background-color:color-mix(in oklab,var(--color-blue-900)10%,transparent)}}.bg-blue-900\/20{background-color:#1c398e33}@supports (color:color-mix(in lab, red, red)){.bg-blue-900\/20{background-color:color-mix(in oklab,var(--color-blue-900)20%,transparent)}}.bg-gray-500\/20{background-color:#6a728233}@supports (color:color-mix(in lab, red, red)){.bg-gray-500\/20{background-color:color-mix(in oklab,var(--color-gray-500)20%,transparent)}}.bg-gray-700{background-color:var(--color-gray-700)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab, red, red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500)10%,transparent)}}.bg-green-500\/20{background-color:#00c75833}@supports (color:color-mix(in lab, red, red)){.bg-green-500\/20{background-color:color-mix(in oklab,var(--color-green-500)20%,transparent)}}.bg-green-600\/20{background-color:#00a54433}@supports (color:color-mix(in lab, red, red)){.bg-green-600\/20{background-color:color-mix(in oklab,var(--color-green-600)20%,transparent)}}.bg-green-900\/20{background-color:#0d542b33}@supports (color:color-mix(in lab, red, red)){.bg-green-900\/20{background-color:color-mix(in oklab,var(--color-green-900)20%,transparent)}}.bg-orange-500{background-color:var(--color-orange-500)}.bg-orange-600{background-color:var(--color-orange-600)}.bg-orange-600\/20{background-color:#f0510033}@supports (color:color-mix(in lab, red, red)){.bg-orange-600\/20{background-color:color-mix(in oklab,var(--color-orange-600)20%,transparent)}}.bg-pink-500{background-color:var(--color-pink-500)}.bg-pink-500\/10{background-color:#f6339a1a}@supports (color:color-mix(in lab, red, red)){.bg-pink-500\/10{background-color:color-mix(in oklab,var(--color-pink-500)10%,transparent)}}.bg-pink-500\/20{background-color:#f6339a33}@supports (color:color-mix(in lab, red, red)){.bg-pink-500\/20{background-color:color-mix(in oklab,var(--color-pink-500)20%,transparent)}}.bg-pink-600\/20{background-color:#e3007633}@supports (color:color-mix(in lab, red, red)){.bg-pink-600\/20{background-color:color-mix(in oklab,var(--color-pink-600)20%,transparent)}}.bg-purple-500{background-color:var(--color-purple-500)}.bg-purple-500\/10{background-color:#ac4bff1a}@supports (color:color-mix(in lab, red, red)){.bg-purple-500\/10{background-color:color-mix(in oklab,var(--color-purple-500)10%,transparent)}}.bg-purple-500\/20{background-color:#ac4bff33}@supports (color:color-mix(in lab, red, red)){.bg-purple-500\/20{background-color:color-mix(in oklab,var(--color-purple-500)20%,transparent)}}.bg-purple-600{background-color:var(--color-purple-600)}.bg-purple-600\/20{background-color:#9810fa33}@supports (color:color-mix(in lab, red, red)){.bg-purple-600\/20{background-color:color-mix(in oklab,var(--color-purple-600)20%,transparent)}}.bg-purple-900\/20{background-color:#59168b33}@supports (color:color-mix(in lab, red, red)){.bg-purple-900\/20{background-color:color-mix(in oklab,var(--color-purple-900)20%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.bg-red-500\/80{background-color:#fb2c36cc}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/80{background-color:color-mix(in oklab,var(--color-red-500)80%,transparent)}}.bg-red-900\/20{background-color:#82181a33}@supports (color:color-mix(in lab, red, red)){.bg-red-900\/20{background-color:color-mix(in oklab,var(--color-red-900)20%,transparent)}}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.bg-white\/5{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.bg-white\/20{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.bg-yellow-600\/20{background-color:#cd890033}@supports (color:color-mix(in lab, red, red)){.bg-yellow-600\/20{background-color:color-mix(in oklab,var(--color-yellow-600)20%,transparent)}}.bg-linear-to-br{--tw-gradient-position:to bottom right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-br{--tw-gradient-position:to bottom right in oklab}}.bg-linear-to-br{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-linear-to-t{--tw-gradient-position:to top}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-t{--tw-gradient-position:to top in oklab}}.bg-linear-to-t{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-black\/60{--tw-gradient-from:#0009}@supports (color:color-mix(in lab, red, red)){.from-black\/60{--tw-gradient-from:color-mix(in oklab,var(--color-black)60%,transparent)}}.from-black\/60{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-500\/50{--tw-gradient-from:#3080ff80}@supports (color:color-mix(in lab, red, red)){.from-blue-500\/50{--tw-gradient-from:color-mix(in oklab,var(--color-blue-500)50%,transparent)}}.from-blue-500\/50{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-600{--tw-gradient-from:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-600\/20{--tw-gradient-from:#155dfc33}@supports (color:color-mix(in lab, red, red)){.from-blue-600\/20{--tw-gradient-from:color-mix(in oklab,var(--color-blue-600)20%,transparent)}}.from-blue-600\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-900\/20{--tw-gradient-from:#1c398e33}@supports (color:color-mix(in lab, red, red)){.from-blue-900\/20{--tw-gradient-from:color-mix(in oklab,var(--color-blue-900)20%,transparent)}}.from-blue-900\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-green-600{--tw-gradient-from:var(--color-green-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-indigo-900\/20{--tw-gradient-from:#312c8533}@supports (color:color-mix(in lab, red, red)){.from-indigo-900\/20{--tw-gradient-from:color-mix(in oklab,var(--color-indigo-900)20%,transparent)}}.from-indigo-900\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-blue-500{--tw-gradient-to:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-emerald-600{--tw-gradient-to:var(--color-emerald-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-600{--tw-gradient-to:var(--color-indigo-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-600\/20{--tw-gradient-to:#4f39f633}@supports (color:color-mix(in lab, red, red)){.to-indigo-600\/20{--tw-gradient-to:color-mix(in oklab,var(--color-indigo-600)20%,transparent)}}.to-indigo-600\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-900\/20{--tw-gradient-to:#59168b33}@supports (color:color-mix(in lab, red, red)){.to-purple-900\/20{--tw-gradient-to:color-mix(in oklab,var(--color-purple-900)20%,transparent)}}.to-purple-900\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-12{padding-inline:calc(var(--spacing)*12)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-5{padding-top:calc(var(--spacing)*5)}.pt-12{padding-top:calc(var(--spacing)*12)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pb-20{padding-bottom:calc(var(--spacing)*20)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-amber-200{color:var(--color-amber-200)}.text-amber-300{color:var(--color-amber-300)}.text-amber-400{color:var(--color-amber-400)}.text-black{color:var(--color-black)}.text-blue-200{color:var(--color-blue-200)}.text-blue-300{color:var(--color-blue-300)}.text-blue-300\/70{color:#90c5ffb3}@supports (color:color-mix(in lab, red, red)){.text-blue-300\/70{color:color-mix(in oklab,var(--color-blue-300)70%,transparent)}}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-blue-500\/30{color:#3080ff4d}@supports (color:color-mix(in lab, red, red)){.text-blue-500\/30{color:color-mix(in oklab,var(--color-blue-500)30%,transparent)}}.text-blue-500\/40{color:#3080ff66}@supports (color:color-mix(in lab, red, red)){.text-blue-500\/40{color:color-mix(in oklab,var(--color-blue-500)40%,transparent)}}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-green-300{color:var(--color-green-300)}.text-green-300\/70{color:#7bf1a8b3}@supports (color:color-mix(in lab, red, red)){.text-green-300\/70{color:color-mix(in oklab,var(--color-green-300)70%,transparent)}}.text-green-400{color:var(--color-green-400)}.text-indigo-200{color:var(--color-indigo-200)}.text-indigo-300{color:var(--color-indigo-300)}.text-indigo-400{color:var(--color-indigo-400)}.text-orange-400{color:var(--color-orange-400)}.text-pink-300{color:var(--color-pink-300)}.text-pink-400{color:var(--color-pink-400)}.text-purple-300{color:var(--color-purple-300)}.text-purple-400{color:var(--color-purple-400)}.text-red-200{color:var(--color-red-200)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-slate-200{color:var(--color-slate-200)}.text-white{color:var(--color-white)}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab, red, red)){.text-white\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-yellow-400{color:var(--color-yellow-400)}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.placeholder-gray-600::placeholder{color:var(--color-gray-600)}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-25{opacity:.25}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-black\/50{--tw-shadow-color:#00000080}@supports (color:color-mix(in lab, red, red)){.shadow-black\/50{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black)50%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-blue-900\/10{--tw-shadow-color:#1c398e1a}@supports (color:color-mix(in lab, red, red)){.shadow-blue-900\/10{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-blue-900)10%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-blue-900\/30{--tw-shadow-color:#1c398e4d}@supports (color:color-mix(in lab, red, red)){.shadow-blue-900\/30{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-blue-900)30%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-purple-900\/20{--tw-shadow-color:#59168b33}@supports (color:color-mix(in lab, red, red)){.shadow-purple-900\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-purple-900)20%,transparent)var(--tw-shadow-alpha),transparent)}}.blur-sm{--tw-blur:blur(var(--blur-sm));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-\[0_0_8px_rgba\(59\,130\,246\,0\.5\)\]{--tw-drop-shadow-size:drop-shadow(0 0 8px var(--tw-drop-shadow-color,#3b82f680));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:opacity-40:is(:where(.group):hover *){opacity:.4}.group-hover\:opacity-100:is(:where(.group):hover *),.group-hover\/img\:opacity-100:is(:where(.group\/img):hover *){opacity:1}}.selection\:bg-blue-500 ::selection{background-color:var(--color-blue-500)}.selection\:bg-blue-500::selection{background-color:var(--color-blue-500)}.selection\:text-white ::selection{color:var(--color-white)}.selection\:text-white::selection{color:var(--color-white)}.placeholder\:text-amber-500\/50::placeholder{color:#f99c0080}@supports (color:color-mix(in lab, red, red)){.placeholder\:text-amber-500\/50::placeholder{color:color-mix(in oklab,var(--color-amber-500)50%,transparent)}}.placeholder\:text-gray-600::placeholder{color:var(--color-gray-600)}@media (hover:hover){.hover\:border-blue-500\/30:hover{border-color:#3080ff4d}@supports (color:color-mix(in lab, red, red)){.hover\:border-blue-500\/30:hover{border-color:color-mix(in oklab,var(--color-blue-500)30%,transparent)}}.hover\:border-gray-400:hover{border-color:var(--color-gray-400)}.hover\:border-indigo-400:hover{border-color:var(--color-indigo-400)}.hover\:border-pink-400:hover{border-color:var(--color-pink-400)}.hover\:border-purple-500:hover{border-color:var(--color-purple-500)}.hover\:border-white\/20:hover{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.hover\:border-white\/20:hover{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.hover\:bg-\[\#1a1a1f\]:hover{background-color:#1a1a1f}.hover\:bg-amber-500\/20:hover{background-color:#f99c0033}@supports (color:color-mix(in lab, red, red)){.hover\:bg-amber-500\/20:hover{background-color:color-mix(in oklab,var(--color-amber-500)20%,transparent)}}.hover\:bg-blue-500:hover{background-color:var(--color-blue-500)}.hover\:bg-blue-500\/5:hover{background-color:#3080ff0d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-blue-500\/5:hover{background-color:color-mix(in oklab,var(--color-blue-500)5%,transparent)}}.hover\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-gray-600:hover{background-color:var(--color-gray-600)}.hover\:bg-indigo-500\/5:hover{background-color:#625fff0d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-indigo-500\/5:hover{background-color:color-mix(in oklab,var(--color-indigo-500)5%,transparent)}}.hover\:bg-orange-500:hover{background-color:var(--color-orange-500)}.hover\:bg-pink-500\/5:hover{background-color:#f6339a0d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-pink-500\/5:hover{background-color:color-mix(in oklab,var(--color-pink-500)5%,transparent)}}.hover\:bg-purple-500\/5:hover{background-color:#ac4bff0d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-purple-500\/5:hover{background-color:color-mix(in oklab,var(--color-purple-500)5%,transparent)}}.hover\:bg-red-500:hover{background-color:var(--color-red-500)}.hover\:bg-white\/5:hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/5:hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.hover\:bg-white\/40:hover{background-color:#fff6}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/40:hover{background-color:color-mix(in oklab,var(--color-white)40%,transparent)}}.hover\:from-blue-500:hover{--tw-gradient-from:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-blue-400:hover{--tw-gradient-to:var(--color-blue-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:text-amber-300:hover{color:var(--color-amber-300)}.hover\:text-blue-300:hover{color:var(--color-blue-300)}.hover\:text-red-300:hover{color:var(--color-red-300)}.hover\:text-white:hover{color:var(--color-white)}.hover\:opacity-90:hover{opacity:.9}}.focus\:border-amber-500:focus{border-color:var(--color-amber-500)}.focus\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:ring-offset-0:focus{--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-700:disabled{background-color:var(--color-gray-700)}.disabled\:text-gray-500:disabled{color:var(--color-gray-500)}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:40rem){.sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:48rem){.md\:order-1{order:1}.md\:order-2{order:2}.md\:mx-0{margin-inline:calc(var(--spacing)*0)}.md\:ml-0{margin-left:calc(var(--spacing)*0)}.md\:block{display:block}.md\:w-1\/3{width:33.3333%}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:text-left{text-align:left}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}}}body{color:#e2e8f0;background-color:#0000;font-family:Noto Sans TC,sans-serif;overflow-x:hidden}h1,h2,h3,.serif{font-family:Noto Sans TC,sans-serif}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#0f172a}::-webkit-scrollbar-thumb{background:#334155;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#475569}.bg-dynamic{z-index:-1;background-color:#000;width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.bg-grid{will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;filter:blur(.6px);transform-origin:50%;pointer-events:none;isolation:isolate;background-image:linear-gradient(90deg,#3b82f626 1px,#0000 1px),linear-gradient(#3b82f626 1px,#0000 1px);background-position:0 0;background-size:40px 40px;width:200%;height:200%;animation:4s linear infinite grid-move;position:absolute;top:-50%;left:-50%;transform:perspective(500px)rotateX(60deg)translate(0);-webkit-mask-image:radial-gradient(#000 30%,#0000 75%);mask-image:radial-gradient(#000 30%,#0000 75%)}.bg-glow{filter:blur(80px);pointer-events:none;background:radial-gradient(circle,#2563eb33 0%,#0000 70%);width:100vw;height:100vh;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes grid-move{0%{transform:perspective(500px)rotateX(60deg)translate(0)}to{transform:perspective(500px)rotateX(60deg)translateY(40px)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.animate-float{animation:3s ease-in-out infinite float}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
|