PageSourceSearch

https://www.offbrand.ai/_next/static/chunks/pages/visualGovernanceTest-c2aacadbf7ca1fa8.js

js offbrand.ai collected 2026-10-05 12:21:26 UTC 27,125 bytes, 1 lines download raw bytes

1try{let e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},s=(new e.Error).stack;s&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[s]="03d34df3-c1a5-456c-9727-d8683bf6e531",e._sentryDebugIdIdentifier="sentry-dbid-03d34df3-c1a5-456c-9727-d8683bf6e531")}catch(e){}(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9308],{28817:(e,s,d)=>{"use strict";var t=d(99742);d(72552);var r=d(14232),n=function(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}(r),a=void 0!==t&&t.env&&!0,i=function(e){return"[object String]"===Object.prototype.toString.call(e)},o=function(){function e(e){var s=void 0===e?{}:e,d=s.name,t=void 0===d?"stylesheet":d,r=s.optimizeForSpeed,n=void 0===r?a:r;l(i(t),"`name` must be a string"),this._name=t,this._deletedRulePlaceholder="#"+t+"-deleted-rule____{}",l("boolean"==typeof n,"`optimizeForSpeed` must be a boolean"),this._optimizeForSpeed=n,this._serverSheet=void 0,this._tags=[],this._injected=!1,this._rulesCount=0;var o=document.querySelector('meta[property="csp-nonce"]');this._nonce=o?o.getAttribute("content"):null}var s,d=e.prototype;return d.setOptimizeForSpeed=function(e){l("boolean"==typeof e,"`setOptimizeForSpeed` accepts a boolean"),l(0===this._rulesCount,"optimizeForSpeed cannot be when rules have already been inserted"),this.flush(),this._optimizeForSpeed=e,this.inject()},d.isOptimizeForSpeed=function(){return this._optimizeForSpeed},d.inject=function(){var e=this;if(l(!this._injected,"sheet already injected"),this._injected=!0,this._optimizeForSpeed){this._tags[0]=this.makeStyleTag(this._name),this._optimizeForSpeed="insertRule"in this.getSheet(),this._optimizeForSpeed||(a||console.warn("StyleSheet: optimizeForSpeed mode not supported falling back to standard mode."),this.flush(),this._injected=!0);return}this._serverSheet={cssRules:[],insertRule:function(s,d){return"number"==typeof d?e._serverSheet.cssRules[d]={cssText:s}:e._serverSheet.cssRules.push({cssText:s}),d},deleteRule:function(s){e._serverSheet.cssRules[s]=null}}},d.getSheetForTag=function(e){if(e.sheet)return e.sheet;for(var s=0;s<document.styleSheets.length;s++)if(document.styleSheets[s].ownerNode===e)return document.styleSheets[s]},d.getSheet=function(){return this.getSheetForTag(this._tags[this._tags.length-1])},d.insertRule=function(e,s){if(l(i(e),"`insertRule` accepts only strings"),this._optimizeForSpeed){var d=this.getSheet();"number"!=typeof s&&(s=d.cssRules.length);try{d.insertRule(e,s)}catch(s){return a||console.warn("StyleSheet: illegal rule: \n\n"+e+"\n\nSee https://stackoverflow.com/q/20007992 for more info"),-1}}else{var t=this._tags[s];this._tags.push(this.makeStyleTag(this._name,e,t))}return this._rulesCount++},d.replaceRule=function(e,s){if(this._optimizeForSpeed){var d=this.getSheet();if(s.trim()||(s=this._deletedRulePlaceholder),!d.cssRules[e])return e;d.deleteRule(e);try{d.insertRule(s,e)}catch(t){a||console.warn("StyleSheet: illegal rule: \n\n"+s+"\n\nSee https://stackoverflow.com/q/20007992 for more info"),d.insertRule(this._deletedRulePlaceholder,e)}}else{var t=this._tags[e];l(t,"old rule at index `"+e+"` not found"),t.textContent=s}return e},d.deleteRule=function(e){if(this._optimizeForSpeed)this.replaceRule(e,"");else{var s=this._tags[e];l(s,"rule at index `"+e+"` not found"),s.parentNode.removeChild(s),this._tags[e]=null}},d.flush=function(){this._injected=!1,this._rulesCount=0,this._tags.forEac
1h(function(e){return e&&e.parentNode.removeChild(e)}),this._tags=[]},d.cssRules=function(){var e=this;return this._tags.reduce(function(s,d){return d?s=s.concat(Array.prototype.map.call(e.getSheetForTag(d).cssRules,function(s){return s.cssText===e._deletedRulePlaceholder?null:s})):s.push(null),s},[])},d.makeStyleTag=function(e,s,d){s&&l(i(s),"makeStyleTag accepts only strings as second parameter");var t=document.createElement("style");this._nonce&&t.setAttribute("nonce",this._nonce),t.type="text/css",t.setAttribute("data-"+e,""),s&&t.appendChild(document.createTextNode(s));var r=document.head||document.getElementsByTagName("head")[0];return d?r.insertBefore(t,d):r.appendChild(t),t},s=[{key:"length",get:function(){return this._rulesCount}}],function(e,s){for(var d=0;d<s.length;d++){var t=s[d];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,t.key,t)}}(e.prototype,s),e}();function l(e,s){if(!e)throw Error("StyleSheet: "+s+".")}var b=function(e){for(var s=5381,d=e.length;d;)s=33*s^e.charCodeAt(--d);return s>>>0},c={};function x(e,s){if(!s)return"jsx-"+e;var d=String(s),t=e+d;return c[t]||(c[t]="jsx-"+b(e+"-"+d)),c[t]}function u(e,s){var d=e+s;return c[d]||(c[d]=s.replace(/__jsx-style-dynamic-selector/g,e)),c[d]}var f=function(){function e(e){var s=void 0===e?{}:e,d=s.styleSheet,t=void 0===d?null:d,r=s.optimizeForSpeed,n=void 0!==r&&r;this._sheet=t||new o({name:"styled-jsx",optimizeForSpeed:n}),this._sheet.inject(),t&&"boolean"==typeof n&&(this._sheet.setOptimizeForSpeed(n),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),this._fromServer=void 0,this._indices={},this._instancesCounts={}}var s=e.prototype;return s.add=function(e){var s=this;void 0===this._optimizeForSpeed&&(this._optimizeForSpeed=Array.isArray(e.children),this._sheet.setOptimizeForSpeed(this._optimizeForSpeed),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),this._fromServer||(this._fromServer=this.selectFromServer(),this._instancesCounts=Object.keys(this._fromServer).reduce(function(e,s){return e[s]=0,e},{}));var d=this.getIdAndRules(e),t=d.styleId,r=d.rules;if(t in this._instancesCounts){this._instancesCounts[t]+=1;return}var n=r.map(function(e){return s._sheet.insertRule(e)}).filter(function(e){return -1!==e});this._indices[t]=n,this._instancesCounts[t]=1},s.remove=function(e){var s=this,d=this.getIdAndRules(e).styleId;if(function(e,s){if(!e)throw Error("StyleSheetRegistry: "+s+".")}(d in this._instancesCounts,"styleId: `"+d+"` not found"),this._instancesCounts[d]-=1,this._instancesCounts[d]<1){var t=this._fromServer&&this._fromServer[d];t?(t.parentNode.removeChild(t),delete this._fromServer[d]):(this._indices[d].forEach(function(e){return s._sheet.deleteRule(e)}),delete this._indices[d]),delete this._instancesCounts[d]}},s.update=function(e,s){this.add(s),this.remove(e)},s.flush=function(){this._sheet.flush(),this._sheet.inject(),this._fromServer=void 0,this._indices={},this._instancesCounts={}},s.cssRules=function(){var e=this,s=this._fromServer?Object.keys(this._fromServer).map(function(s){return[s,e._fromServer[s]]}):[],d=this._sheet.cssRules();return s.concat(Object.keys(this._indices).map(function(s){return[s,e._indices[s].map(function(e){return d[e].cssText}).join(e._optimizeForSpeed?"":"\n")]}).filter(function(e){return!!e[1]}))},s.styles=function(e){var s,d;return s=this.cssRules(),void 0===(d=e)&&(d={}),s.map(function(e){var s=e[0],t=e[1];return n.default.createElement("style",{id:"__"+s,key:"__"+s,nonce:d.nonce?d.nonce:void 0,dangerouslySetInnerHTML:{__html:t}})})},s.getIdAndRules=function(e){var s=e.children,d=e.dynamic,t=e.id;if(d){var r=x(t,d);return{styleId:r,rules:Array.isArray(s)?s.map(function(e){return u(r,e)}):[u(r,s)]}}return{styleId:x(t),rules:Array.isArray(s)?s:[s]}},s.selectFromServer=function(){return Array.prototype.slice.call(document.querySelectorAll('[id^="__jsx-"]')).reduce(function(e,s){return e[s.id.slice(2)]=s,e},{})},e}(),p=r.createContext(null);p.displayName="StyleSheetContext";var h=n.default.useInsertionEffect||n.default.useLayoutEffect,m=new f;function j(e){var s=m||r.useContext(p);return s&&h(function(){return s.add(e),function(){s.remove(e)}},[e.id,String(e.dynamic)]),null}j.dynamic=function(e){return e.map(function(e){return x(e[0],e[1])}).join(" ")},s.style=j},49259:(e,s,d)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/visualGovernanceTest",function(){return d(70842)}])},70842:(e,s,d)=>{"use strict";d.r(s),d.d(s,{default:()=>l});var t=d(37876),r=d(94250),n=d.n(r),a=d(14232),i=d(77328),o=d.n(i);function l(){let[e,s]=(0,a.useState)(null),[d,r]=(0,a.useState)(null),[i,l]=(0,a.useState)(null),[b,c]=(0,a.useState)(null),[x,u]=(0,a.useState)("#000000,#FFFFFF"),[f,p]=(0,a.useState)(""),[h,m]=(0,a.useState)(!1),[j,g]=(0,a.useState)(null),[v,_]=(0,a.useState)(null),[y,N]=(0,a.useState)(null),[S,w]=(0,a.useState)(!1),[k,C]=(0,a.useState)(null),F=async e=>{w(!0);let s=async()=>{try{let d=await fetch("/api/visualGovernance/job/".concat(e)),t=await d.json();N(t),"completed"===t.state&&t.result?(g(t.result),w(!1)):"failed"===t.state?(C(t.error||"Job failed"),w(!1)):setTimeout(s,3e3)}catch(e){C("Polling failed: ".concat(e.message)),w(!1)}};s()},z=async()=>
1{if(!b)return void C("Please upload a test image");m(!0),C(null),g(null);try{let s=new FormData;e&&s.append("mark",e),d&&s.append("wordmark",d),i&&s.append("lockup",i),s.append("testImage",b),s.append("brandColors",x),f.trim().length>0&&s.append("notifyEmail",f.trim());let t=await fetch("/api/visualGovernance/test",{method:"POST",body:s});if(!t.ok)throw Error("Test failed: ".concat(t.statusText));let r=await t.json();"queued"===r.status?(_(r),N({jobId:r.jobId,state:"waiting",progress:0}),F(r.jobId)):g(r)}catch(e){C(e.message)}finally{m(!1)}},D=e=>{let{label:s,file:d,onChange:r,required:n=!1}=e;return(0,t.jsxs)("div",{className:"file-upload",children:[(0,t.jsxs)("label",{children:[s," ",n&&(0,t.jsx)("span",{className:"required",children:"*"})]}),(0,t.jsxs)("div",{className:"file-input-wrapper",children:[(0,t.jsx)("input",{type:"file",accept:"image/*",onChange:e=>{var s;return r((null==(s=e.target.files)?void 0:s[0])||null)}}),d&&(0,t.jsxs)("span",{className:"file-name",children:["✓ ",d.name]})]})]})};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o(),{children:(0,t.jsx)("title",{className:"jsx-d4eb75d7d8b3b7f5",children:"Visual Governance Test - Supercopy.ai"})}),(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 test-container",children:[(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 header",children:[(0,t.jsx)("h1",{className:"jsx-d4eb75d7d8b3b7f5",children:"\uD83C\uDFA8 Visual Governance Tester"}),(0,t.jsx)("p",{className:"jsx-d4eb75d7d8b3b7f5",children:"Upload your brand assets and test images to validate visual compliance"})]}),(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 content",children:[(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 upload-section",children:[(0,t.jsx)("h2",{className:"jsx-d4eb75d7d8b3b7f5",children:"1. Upload Brand Assets"}),(0,t.jsx)("p",{className:"jsx-d4eb75d7d8b3b7f5 section-desc",children:"Upload your approved logo templates"}),(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 upload-grid",children:[(0,t.jsx)(D,{label:"Mark (Symbol)",file:e,onChange:s,className:"jsx-d4eb75d7d8b3b7f5"}),(0,t.jsx)(D,{label:"Wordmark (Text)",file:d,onChange:r,className:"jsx-d4eb75d7d8b3b7f5"}),(0,t.jsx)(D,{label:"Lockup (Symbol + Text)",file:i,onChange:l,className:"jsx-d4eb75d7d8b3b7f5"})]}),(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 colors-input",children:[(0,t.jsx)("label",{className:"jsx-d4eb75d7d8b3b7f5",children:"Brand Colors (hex, comma-separated)"}),(0,t.jsx)("input",{type:"text",value:x,onChange:e=>u(e.target.value),placeholder:"#000000,#FFFFFF",className:"jsx-d4eb75d7d8b3b7f5"})]}),(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 colors-input",children:[(0,t.jsx)("label",{className:"jsx-d4eb75d7d8b3b7f5",children:"Email report to (optional)"}),(0,t.jsx)("input",{type:"email",value:f,onChange:e=>p(e.target.value),placeholder:"[email protected]",className:"jsx-d4eb75d7d8b3b7f5"})]})]}),(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 test-section",children:[(0,t.jsx)("h2",{className:"jsx-d4eb75d7d8b3b7f5",children:"2. Upload Test Image"}),(0,t.jsx)("p",{className:"jsx-d4eb75d7d8b3b7f5 section-desc",children:"The image you want to check for c
1ompliance"}),(0,t.jsx)(D,{label:"Test Image",file:b,onChange:c,required:!0,className:"jsx-d4eb75d7d8b3b7f5"})]}),(0,t.jsx)("div",{className:"jsx-d4eb75d7d8b3b7f5 action-section",children:(0,t.jsx)("button",{onClick:z,disabled:h||!b,className:"jsx-d4eb75d7d8b3b7f5 run-button",children:h?"⏳ Running Test...":"\uD83D\uDE80 Run Visual Governance Test"})}),k&&(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 error-box",children:[(0,t.jsx)("h3",{className:"jsx-d4eb75d7d8b3b7f5",children:"❌ Error"}),(0,t.jsx)("p",{className:"jsx-d4eb75d7d8b3b7f5",children:k})]}),v&&y&&(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 job-status-section",children:[(0,t.jsx)("div",{className:"jsx-d4eb75d7d8b3b7f5 status-badge queued",children:"\uD83D\uDD04 PROCESSING"}),(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 job-info",children:[(0,t.jsxs)("h3",{className:"jsx-d4eb75d7d8b3b7f5",children:["Job Status: ",y.state.toUpperCase()]}),(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 job-details",children:[(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 result-row",children:[(0,t.jsx)("span",{className:"jsx-d4eb75d7d8b3b7f5",children:"Job ID:"}),(0,t.jsx)("code",{className:"jsx-d4eb75d7d8b3b7f5",children:y.jobId})]}),y.queuePosition&&(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 result-row",children:[(0,t.jsx)("span",{className:"jsx-d4eb75d7d8b3b7f5",children:"Queue:"}),(0,t.jsx)("strong",{className:"jsx-d4eb75d7d8b3b7f5",children:y.queuePosition})]}),y.currentStep&&(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 result-row",children:[(0,t.jsx)("span",{className:"jsx-d4eb75d7d8b3b7f5",children:"Current:"}),(0,t.jsx)("strong",{className:"jsx-d4eb75d7d8b3b7f5",children:y.currentStep})]}),y.estimatedTimeRemaining&&(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 result-row",children:[(0,t.jsx)("span",{className:"jsx-d4eb75d7d8b3b7f5",children:"ETA:"}),(0,t.jsx)("strong",{className:"jsx-d4eb75d7d8b3b7f5",children:y.estimatedTimeRemaining})]}),(0,t.jsx)("div",{className:"jsx-d4eb75d7d8b3b7f5 progress-bar",children:(0,t.jsx)("div",{style:{width:"".concat(y.progress,"%")},className:"jsx-d4eb75d7d8b3b7f5 progress-fill"})}),S&&(0,t.jsx)("div",{className:"jsx-d4eb75d7d8b3b7f5 polling-indicator",children:"\uD83D\uDD04 Auto-updating every 3 seconds..."})]})]})]}),j&&(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 results-section",children:[(0,t.jsx)("div",{className:"jsx-d4eb75d7d8b3b7f5 "+"status-badge ".concat(j.status),children:"approved"===j.status?"✅ APPROVED":"⚠️ REJECTED"}),(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 results-grid",children:[j.logo_presence&&(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 result-card",children:[(0,t.jsx)("h3",{className:"jsx-d4eb75d7d8b3b7f5",children:"\uD83D\uDD0D Logo Presence"}),(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 result-content",children:[(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 result-row",children:[(0,t.jsx)("span",{className:"jsx-d4eb75d7d8b3b7f5",children:"Detected:"}),(0,t.jsx)("strong",{className:"jsx-d4eb75d7d8b3b7f5",children:j.logo_presence.logo_present?"Yes":"No"})]}),j.logo_presence.detected_logo_names&&(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 result-row",children:[(0,t.jsx)("span",{className:"jsx-d4eb75d7d8b3b7f5",children:"Logos:"}),(0,t.jsx)("div",{className:"jsx-d4eb75d7d8b3b7f5 tag-list",children:j.logo_presence.detected_logo_names.map((e,s)=>(0,t.jsx)("span",{className:"jsx-d4eb75d7d8b3b7f5 tag",children:e},s))})]}),(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 result-row",children:[(0,t.jsx)("span",{className:"jsx-d4eb75d7d8b3b7f5",children:"Model:"}),(0,t.jsx)("code",{className:"jsx-d4eb75d7d8b3b7f5",children:j.logo_presence.used_model})]})]})]}),j.logo_compliance&&(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 result-card",children:[(0,t.jsx)("h3",{className:"jsx-d4eb75d7d8b3b7f5",children:"\uD83D\uDCD0 Logo Compliance"}),(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 result-content",children:[(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 result-row",children:[(0,t.jsx)("span",{className:"jsx-d4eb75d7d8b3b7f5",children:"Status:"}),(0,t.jsx)("strong",{className:"jsx-d4eb75d7d8b3b7f5 "+((j.logo_compliance.passed?"pass":"fail")||""),children:j.logo_compliance.passed?"PASS":"FAIL"})]}),j.logo_compliance.issues&&j.logo_compliance.issues.length>0&&(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 issues-list",children:[(0,t.jsx)("strong",{className:"jsx-d4eb75d7d8b3b7f5",children:"Issues:"}),j.logo_compliance.issues.map((e,s)=>(0,t.jsx)("div",{className:"jsx-d4eb75d7d8b3b7f5 issue",children:e},s))]})]})]}),j.context&&(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 result-card",children:[(0,t.jsx)("h3",{className:"jsx-d4eb75d7d8b3b7f5",children:"\uD83D\uDDBC️ Context"}),(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 result-content",children:[(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 result-row",children:[(0,t.jsx)("span",{className:"jsx-d4eb75d7d8b3b7f5",children:"Alignment:"}),(0,t.jsx)("span",{className:"jsx-d4eb75d7d8b3b7f5 "+"alignment ".concat(j.context.contextual_alignment),children:j.context.contextual_alignment})]}),j.context.summary&&(0,t.jsx)("div",{className:"jsx-d4eb75d7d8b3b7f5 summary",children:j.context.summary})]})]}),j.fonts&&(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 result-card",children:[(0,t.jsx)("h3",{className:"jsx-d4eb75d7d8b3b7f5",children:"\uD83D\uDD24 Fonts"}),(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 result-content",children:[(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 result-row",children:[(0,t.jsx)("span",{className:"jsx-d4eb75d7d8b3b7f5",children:"Score:"}),(0,t.jsxs)("strong",{className:"jsx-d4eb75d7d8b3b7f5",children:[j.fonts.font_al
1ignment_score,"/100"]})]}),(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 result-row",children:[(0,t.jsx)("span",{className:"jsx-d4eb75d7d8b3b7f5",children:"Alignment:"}),(0,t.jsx)("span",{className:"jsx-d4eb75d7d8b3b7f5 "+"alignment ".concat(j.fonts.font_alignment),children:j.fonts.font_alignment})]})]})]}),j.colors&&(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 result-card",children:[(0,t.jsx)("h3",{className:"jsx-d4eb75d7d8b3b7f5",children:"\uD83C\uDFA8 Colors"}),(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 result-content",children:[(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 result-row",children:[(0,t.jsx)("span",{className:"jsx-d4eb75d7d8b3b7f5",children:"Score:"}),(0,t.jsxs)("strong",{className:"jsx-d4eb75d7d8b3b7f5",children:[j.colors.color_alignment_score,"/100"]})]}),j.colors.palette_sample&&j.colors.palette_sample.length>0&&(0,t.jsx)("div",{className:"jsx-d4eb75d7d8b3b7f5 color-palette",children:j.colors.palette_sample.map((e,s)=>(0,t.jsx)("div",{style:{backgroundColor:e},title:e,className:"jsx-d4eb75d7d8b3b7f5 color-swatch"},s))})]})]}),j.scoring&&(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 result-card score-card",children:[(0,t.jsx)("h3",{className:"jsx-d4eb75d7d8b3b7f5",children:"\uD83D\uDCCA Final Score"}),(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 score-display",children:[(0,t.jsx)("div",{className:"jsx-d4eb75d7d8b3b7f5 score-number",children:j.scoring.final_visual_score}),(0,t.jsx)("div",{className:"jsx-d4eb75d7d8b3b7f5 score-label",children:"/100"})]}),j.scoring.breakdown&&(0,t.jsx)("div",{className:"jsx-d4eb75d7d8b3b7f5 breakdown",children:Object.entries(j.scoring.breakdown).map(e=>{let[s,d]=e;return(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 breakdown-row",children:[(0,t.jsxs)("span",{className:"jsx-d4eb75d7d8b3b7f5",children:[s,":"]}),(0,t.jsx)("span",{className:"jsx-d4eb75d7d8b3b7f5",children:String(d)})]},s)})})]})]}),j.alerts&&j.alerts.length>0&&(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 alerts-section",children:[(0,t.jsx)("h3",{className:"jsx-d4eb75d7d8b3b7f5",children:"⚠️ Alerts"}),j.alerts.map((e,s)=>(0,t.jsx)("div",{className:"jsx-d4eb75d7d8b3b7f5 alert-item",children:e},s))]}),j.processing_time_seconds&&(0,t.jsxs)("div",{className:"jsx-d4eb75d7d8b3b7f5 processing-time",children:["⏱️ Processing time: ",j.processing_time_seconds.toFixed(2),"s"]})]})]})]}),(0,t.jsx)(n(),{id:"d4eb75d7d8b3b7f5",children:'.test-container.jsx-d4eb75d7d8b3b7f5{min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:40px 20px}.header.jsx-d4eb75d7d8b3b7f5{text-align:center;color:white;margin-bottom:40px}.header.jsx-d4eb75d7d8b3b7f5 h1.jsx-d4eb75d7d8b3b7f5{font-size:42px;margin-bottom:10px;font-weight:700}.header.jsx-d4eb75d7d8b3b7f5 p.jsx-d4eb75d7d8b3b7f5{font-size:18px;opacity:.9}.content.jsx-d4eb75d7d8b3b7f5{max-width:1200px;margin:0 auto}.upload-section.jsx-d4eb75d7d8b3b7f5,.test-section.jsx-d4eb75d7d8b3b7f5{background:white;border-radius:16px;padding:32px;margin-bottom:24px;box-shadow:0 10px 40px rgba(0,0,0,.1)}.upload-section.jsx-d4eb75d7d8b3b7f5 h2.jsx-d4eb75d7d8b3b7f5,.test-section.jsx-d4eb75d7d8b3b7f5 h2.jsx-d4eb75d7d8b3b7f5{margin-top:0;margin-bottom:8px;font-size:24px;color:#1a202c}.section-desc.jsx-d4eb75d7d8b3b7f5{color:#718096;margin-bottom:24px}.upload-grid.jsx-d4eb75d7d8b3b7f5{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:24px}.file-upload.jsx-d4eb75d7d8b3b7f5 label.jsx-d4eb75d7d8b3b7f5{display:block;font-weight:600;margin-bottom:8px;color:#2d3748}.required.jsx-d4eb75d7d8b3b7f5{color:#e53e3e}.file-input-wrapper.jsx-d4eb75d7d8b3b7f5{position:relative}.file-input-wrapper.jsx-d4eb75d7d8b3b7f5 input[type="file"].jsx-d4eb75d7d8b3b7f5{width:100%;padding:12px;border:2px dashed#cbd5e0;border-radius:8px;cursor:pointer;transition:all.2s}.file-input-wrapper.jsx-d4eb75d7d8b3b7f5 input[type="file"].jsx-d4eb75d7d8b3b7f5:hover{border-color:#667eea;background:#f7fafc}.file-name.jsx-d4eb75d7d8b3b7f5{display:block;margin-top:8px;color:#48bb78;font-size:14px}.colors-input.jsx-d4eb75d7d8b3b7f5{margin-top:24px}.colors-input.jsx-d4eb75d7d8b3b7f5 label.jsx-d4eb75d7d8b3b7f5{display:block;font-weight:600;margin-bottom:8px;color:#2d3748}.colors-input.jsx-d4eb75d7d8b3b7f5 input.jsx-d4eb75d7d8b3b7f5{width:100%;padding:12px;border:2px solid#e2e8f0;border-radius:8px;font-size:16px;font-family:"Courier New",monospace}.action-section.jsx-d4eb75d7d8b3b7f5{text-align:center;margin-bottom:24px}.run-button.jsx-d4eb75d7d8b3b7f5{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:white;border:none;padding:16px 48px;font-size:18px;font-weight:600;border-radius:12px;cursor:pointer;transition:transform.2s,box-shadow.2s;box-shadow:0 4px 20px rgba(102,126,234,.4)}.run-button.jsx-d4eb75d7d8b3b7f5:hover:not(:disabled){transform:translatey(-2px);box-shadow:0 6px 30px rgba(102,126,234,.6)}.run-button.jsx-d4eb75d7d8b3b7f5:disabled{opacity:.6;cursor:not-allowed}.error-box.jsx-d4eb75d7d8b3b7f5{background:#fff5f5;border:2px solid#fc8181;border-radius:12px;padding:24px;color:#c53030;margin-bottom:24px}.error-box.jsx-d4eb75d7d8b3b7f5 h3.jsx-d4eb75d7d8b3b7f5{margin-top:0}.results-section.jsx-d4eb75d7d8b3b7f5{background:white;border-radius:16px;padding:32px;box-shadow:0 10px 40px rgba(0,0,0,.1)}.status-badge.jsx-d4eb75d7d8b3b7f5{display:inline-block;padding:12px 24px;border-radius:8px;font-size:18px;font-weight:700;margin-bottom:32px}.status-badge.approved.jsx-d4eb75d7d8b3b7f5{background:#c6f6d5;color:#22543d}.status-badge.rejected.jsx-d4eb75d7d8b3b7f5{background:#fed7d7;color:#742a2a}.results-grid.jsx-d4eb75d7d8b3b7f5{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:24px}.result-card.jsx-d4eb75d7d8b3b7f5{border:2px solid#e2e8f0;border-radius:12px;padding:20px}.result-card.jsx-d4eb75d7d8b3b7f5 h3.jsx-d4eb75d7d8b3b7f5{margin-top:0;margin-bottom:16px;font-size:18px;color:#2d3748}.result-content.jsx-d4eb75d7d8b3b7f5{font-size:14px}.result-row.jsx-d4eb75d7d8b3b7f5{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid#f7fafc}.result-row.jsx-d4eb75d7d8b3b7f5:last-child{border-bottom:none}.result-row.jsx-d4eb75d7d8b3b7f5 span.jsx-d4eb75d7d8b3b7f5:first-child{color:#718096}.pass.jsx-d4eb75d7d8b3b7f5{color:#38a169;font-weight:600}.fail.jsx-d4eb75d7d8b3b7f5{color:#e53e3e;font-weight:600}.alignment.jsx-d4eb75d7d8b3b7f5{padding:4px 12px;border-radius:4px;font-size:12px;font-weight:600;text-transform:uppercase}.alignment.on_brand.jsx-d4eb75d7d8b3b7f5{background:#c6f6d5;color:#22543d}.alignment.borderline.jsx-d4eb75d7d8b3b7f5{background:#feebc8;color:#7c2d12}.alignment.off_brand.jsx-d4eb75d7d8b3b7f5{background:#fed7d7;color:#742a2a}.tag-list.jsx-d4eb75d7d8b3b7f5{display:flex;flex-wrap:wrap;gap:8px}.tag.jsx-d4eb75d7d8b3b7f5{background:#edf2f7;padding:4px 12px;border-radius:4px;font-size:12px}.issues-list.jsx-d4eb75d7d8b3b7f5{margin-top:12px}.issue.jsx-d4eb75d7d8b3b7f5{background:#fff5f5;padding:8px 12px;border-radius:4px;margin-top:8px;font-size:13px;color:#c53030}.summary.jsx-d4eb75d7d8b3b7f5{margin-top:12px;padding:12px;background:#f7fafc;border-radius:6px;font-size:13px;line-height:1.6;color:#4a5568}.color-palette.jsx-d4eb75d7d8b3b7f5{display:flex;gap:8px;margin-top:12px}.color-swatch.jsx-d4eb75d7d8b3b7f5{width:40px;height:40px;border-radius:6px;border:2px solid#e2e8f0;cursor:pointer}.score-card.jsx-d4eb75d7d8b3b7f5{grid-column:1/-1;text-align:center}.score-display.jsx-d4eb75d7d8b3b7f5{display:flex;align-items:baseline;justify-content:center;margin:20px 0}.score-number.jsx-d4eb75d7d8b3b7f5{font-size:72px;font-weight:700;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.score-label.jsx-d4eb75d7d8b3b7f5{font-size:24px;color:#a0aec0;margin-left:8px}.breakdown.jsx-d4eb75d7d8b3b7f5{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:20px}.breakdown-row.jsx-d4eb75d7d8b3b7f5{background:#f7fafc;padding:8px 12px;border-radius:6px;display:flex;justify-content:space-between;font-size:14px}.job-status-section.jsx-d4eb75d7d8b3b7f5{background:#f0f9ff;border:2px solid#3b82f6;border-radius:12px;padding:20px;margin-bottom:20px}.job-info.jsx-d4eb75d7d8b3b7f5 h3.jsx-d4eb75d7d8b3b7f5{margin:0 0 15px 0;color:#1e40af;font-size:18px}.job-details.jsx-d4eb75d7d8b3b7f5{display:grid;gap:8px}.progress-bar.jsx-d4eb75d7d8b3b7f5{width:100%;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin:10px 0}
1.progress-fill.jsx-d4eb75d7d8b3b7f5{height:100%;background:linear-gradient(90deg,#3b82f6,#1d4ed8);transition:width.3s ease}.polling-indicator.jsx-d4eb75d7d8b3b7f5{text-align:center;color:#6b7280;font-size:14px;font-style:italic;margin-top:10px}.status-badge.queued.jsx-d4eb75d7d8b3b7f5{background:#dbeafe;color:#1e40af;border-color:#3b82f6}.alerts-section.jsx-d4eb75d7d8b3b7f5{background:#fffaf0;border:2px solid#f6ad55;border-radius:12px;padding:20px;margin-bottom:20px}.alerts-section.jsx-d4eb75d7d8b3b7f5 h3.jsx-d4eb75d7d8b3b7f5{margin-top:0;color:#7c2d12}.alert-item.jsx-d4eb75d7d8b3b7f5{background:white;padding:12px;border-radius:6px;margin-top:8px;border-left:4px solid#f6ad55}.processing-time.jsx-d4eb75d7d8b3b7f5{text-align:center;color:#718096;font-size:14px;margin-top:20px}code.jsx-d4eb75d7d8b3b7f5{background:#f7fafc;padding:2px 6px;border-radius:4px;font-family:"Courier New",monospace;font-size:12px}'})]})}},72552:()=>{},94250:(e,s,d)=>{"use strict";e.exports=d(28817).style}},e=>{e.O(0,[636,6593,8792],()=>e(e.s=49259)),_N_E=e.O()}]);

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