/*! tailwindcss v4.1.13 | MIT License | https://tailwindcss.com */@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,::backdrop{--tw-border-style:solid;--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}}}.static{position:static}.ml-auto{margin-left:auto}.contents{display:contents}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.max-h-\[350px\]{max-height:350px}.flex-1{flex:1}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[var\(--border-color\)\]{border-color:var(--border-color)}.text-center{text-align:center}.text-\[var\(--text-color\)\]{color:var(--text-color)}.filter{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,)}.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,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}@media (hover:hover){.hover\:bg-\[\#c01a1f\]:hover{background-color:#c01a1f}}:root{--raffaello-red:#e41e26;--ferrero-ochre:#c07b18;--ferrero-bronze:#ca8d32;--ferrero-earth-yellow:#dbae66;--ferrero-gold:#e5c184;--ferrero-champagne:#f1d7a6;--primary-color:var(--raffaello-red);--secondary-color:#fff7f3;--text-color:#2a2a2a;--background-color:#fff;--card-background:#fffdf9;--border-color:#eadfc8;--error-color:#d32f2f;--success-color:#388e3c;--warning-bg-color:#fff4df;--warning-border-color:var(--ferrero-ochre);--font-family:"Roboto Flex",sans-serif;--border-radius:2.5px;--box-shadow:0 4px 12px #00000014}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-family);background-color:var(--secondary-color);color:var(--text-color);justify-content:center;align-items:flex-start;padding:2rem 1rem;display:flex}#root{width:100%;max-width:1200px}main{background-color:var(--background-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow);text-align:center;flex-direction:column;gap:2rem;padding:2.5rem;display:flex}.app-header{background:linear-gradient(90deg,var(--ferrero-ochre)0%,var(--ferrero-earth-yellow)55%,var(--ferrero-gold)100%);color:#fff;border-radius:6px;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex;box-shadow:0 8px 24px #00000014}.app-header .brand{align-items:center;gap:12px;display:flex}.brand-mark{width:40px;height:40px;color:var(--raffaello-red);background:#fff;border-radius:5px;justify-content:center;align-items:center;font-size:1.25rem;font-weight:800;display:flex;box-shadow:inset 0 0 0 2px #0000000d}.brand-text{flex-direction:column;align-items:flex-start;display:flex}.brand-title{letter-spacing:.2px;font-size:1.25rem;font-weight:700}.brand-subtitle{opacity:.95;font-size:.85rem}.app-layout{align-items:flex-start}.app-content{width:100%}.app-sidebar{width:360px}.app-sidebar .training-data-section{border-top:none;margin:0;padding:0}.shell{grid-template-columns:1fr;align-items:start;gap:24px;display:grid}.shell.with-sidebar{grid-template-columns:3fr 1fr}@media (max-width:960px){.shell,.shell.with-sidebar{grid-template-columns:1fr}}.panel{background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow);padding:14px}.brand-header{color:var(--primary-color);margin-bottom:12px}.dropzone{border:2px dashed var(--border-color);text-align:center;background:linear-gradient(#fff,#fffdf9);border-radius:3px;flex-direction:column;align-items:center;padding:20px;transition:border-color .2s,background-color .2s;display:flex}.dropzone:hover{border-color:var(--primary-color);background:#fff7f5}.dropzone input[type=file]{display:none}.btn{border:1px solid var(--border-color);cursor:pointer;border-radius:2px;justify-content:center;align-items:center;gap:8px;padding:7px 11px;font-weight:500;transition:background-color .2s,color .2s,border-color .2s,transform 50ms;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.btn-primary:hover{background:#c01a1f;border-color:#c01a1f}.btn-ghost{color:var(--text-color);background:#fff}.btn-ghost:hover{background:var(--secondary-color)}.controls-row{justify-content:space-between;align-items:center;gap:10px;margin-top:8px;display:flex}.inline-group{align-items:center;gap:10px;display:inline-flex}.icon-btn{justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.sidebar-panel{max-height:70vh;position:sticky;top:16px;overflow:auto}.sidebar-panel h2{text-align:center;color:var(--text-color);margin-bottom:10px;font-weight:600}.sidebar-empty{color:#777;text-align:center;padding:18px 0;font-size:.9rem}.preview-img{max-width:100%;max-height:360px;box-shadow:var(--box-shadow);border-radius:2.5px;margin-top:14px}.drop-actions{gap:8px;margin-top:10px;display:flex}.modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.modal-content{background:#fff;border-radius:2.5px;width:92%;max-width:560px;padding:14px;box-shadow:0 10px 30px #00000040}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;display:flex}.modal-body{gap:10px;display:grid}.training-previews{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px;display:grid}.training-previews img{-o-object-fit:cover;object-fit:cover;border:1px solid var(--border-color);border-radius:2px;width:100%;height:90px}.modal-footer{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.sb-list{grid-template-columns:1fr;gap:10px;display:grid}.sb-item{border:1px solid var(--border-color);background:#fff;border-radius:2.5px;padding:8px}.sb-meta{color:#444;align-items:center;gap:6px;font-size:11px;display:flex}.sb-meta strong{font-size:12px}.sb-images{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.sb-thumb{-o-object-fit:cover;object-fit:cover;border:1px solid var(--border-color);border-radius:2px;width:48px;height:48px}.sb-actions{align-items:center;gap:6px;display:flex}.sb-actions .btn{border-radius:2px;padding:5px 8px;font-size:12px}h1{color:var(--primary-color);margin-bottom:.5rem;font-size:2.2rem;font-weight:700}.upload-section{border:2px dashed var(--border-color);border-radius:var(--border-radius);flex-direction:column;align-items:center;gap:1rem;padding:2rem;transition:border-color .3s,background-color .3s;display:flex}.upload-section:hover{border-color:var(--primary-color);background-color:#fff2f2}.upload-label{cursor:pointer;background-color:var(--primary-color);color:#fff;border-radius:4px;padding:.75rem 1.5rem;font-weight:500;transition:background-color .3s,transform .2s}.upload-label:hover{background-color:#c01a1f;transform:translateY(-2px)}input[type=file]{display:none}.image-preview{border-radius:var(--border-radius);max-width:100%;max-height:350px;box-shadow:var(--box-shadow);margin-top:1rem}.campaign-slogan-input{text-align:left;flex-direction:column;align-self:center;gap:.5rem;width:100%;max-width:500px;margin-top:0;margin-bottom:-.5rem;display:flex}.campaign-slogan-input label{color:var(--text-color);font-size:.9rem;font-weight:500}.campaign-slogan-input input{border:1px solid var(--border-color);font-size:1rem;font-family:var(--font-family);border-radius:4px;padding:.75rem 1rem;transition:border-color .3s,box-shadow .3s}.campaign-slogan-input input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #4a90e233}.analyze-button{background-color:var(--success-color);color:#fff;cursor:pointer;border:none;border-radius:4px;align-self:center;width:-moz-fit-content;width:fit-content;padding:.8rem 2rem;font-size:1.1rem;font-weight:500;transition:background-color .3s,transform .2s}.analyze-button:hover:not(:disabled){background-color:#2e7d32;transform:translateY(-2px)}.analyze-button:disabled{cursor:not-allowed;background-color:#9e9e9e}.loader{border:5px solid #f3f3f3;border-top:5px solid var(--primary-color);border-radius:50%;align-self:center;width:50px;height:50px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error{color:var(--error-color);border:1px solid var(--error-color);text-align:center;background-color:#ffebee;border-radius:8px;padding:1rem}.results-section,.optimization-section,.marketing-copy-section,.palette-section{text-align:left;border-top:1px solid var(--border-color);margin-top:1rem;padding-top:2rem;animation:.5s ease-in-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.results-section h2,.optimization-section h3,.marketing-copy-section h3,.palette-section h2,.interactive-overview h3{text-align:center;color:var(--text-color);margin-bottom:1.5rem;font-weight:500}.scorecards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.scorecard{background-color:var(--card-background);border:1px solid var(--border-color);border-radius:var(--border-radius);border-left:5px solid #0000;flex-direction:column;padding:1.5rem;transition:border-color .3s;display:flex;box-shadow:0 2px 6px #0000000d}.scorecard-high{border-left-color:var(--success-color)}.scorecard-medium{border-left-color:var(--warning-border-color)}.scorecard-low{border-left-color:var(--error-color)}.scorecard h3{color:var(--primary-color);margin-bottom:.75rem;font-size:1.1rem}.scorecard p{color:#555;flex-grow:1;margin-bottom:.5rem;line-height:1.5}.scorecard .score-display{margin-bottom:1rem}.scorecard .score,.score-display .score{color:var(--text-color);font-size:1.75rem;font-weight:700}.score-high{color:var(--success-color)}.score-medium{color:var(--warning-border-color)}.score-low{color:var(--error-color)}.score:before{margin-right:.5rem;font-weight:700;display:inline-block}.score-high:before{content:"▲"}.score-medium:before{content:"–"}.score-low:before{content:"▼"}.tags-container{flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:1rem;display:flex}.tag{color:#333;background-color:#e0e0e0;border-radius:8px;padding:.25rem .75rem;font-size:.8rem;font-weight:500}.scorecard-footer{border-top:1px solid var(--border-color);justify-content:center;margin-top:1rem;padding-top:1rem;display:flex}.train-ai-button{border:1px solid var(--primary-color);color:var(--primary-color);cursor:pointer;background-color:#0000;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:background-color .2s,color .2s}.train-ai-button:hover{background-color:var(--primary-color);color:#fff}.interactive-overview{margin:2rem 0}.overview-container{gap:1.5rem;display:flex}.overview-list{flex:1;margin:0;padding:0;list-style:none}.overview-item{border:1px solid var(--border-color);cursor:pointer;border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.75rem 1rem;font-weight:500;transition:background-color .2s,border-color .2s,color .2s;display:flex}.overview-item:hover{border-color:var(--primary-color);background-color:#fff0f0}.overview-item.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:0 2px 8px #e41e2659}.overview-score{border-radius:3px;padding:.2rem .5rem;font-size:.9em;font-weight:700}.overview-score-high{color:var(--success-color);background-color:#388e3c26}.overview-score-medium{color:#b48b0c;background-color:#fbc02d26}.overview-score-low{color:var(--error-color);background-color:#d32f2f1a}.overview-item.active .overview-score,.overview-item.active .overview-score-high,.overview-item.active .overview-score-medium,.overview-item.active .overview-score-low{color:#fff;background:#fff3}.overview-details{background-color:var(--card-background);border:1px solid var(--border-color);border-radius:var(--border-radius);flex:2;padding:1.5rem 2rem;animation:.3s ease-in-out fadeIn}.overview-details h4{color:var(--primary-color);margin-bottom:1rem;font-size:1.2rem}.overview-details p{color:#555;line-height:1.6}@media (max-width:800px){.overview-container{flex-direction:column}}.chart-container{width:100%;margin-bottom:2rem}.chart-container h3{text-align:center;color:var(--text-color);margin-bottom:1.5rem;font-weight:500}.total-score{background:linear-gradient(90deg,var(--ferrero-ochre)0%,var(--ferrero-earth-yellow)60%,var(--ferrero-gold)100%);color:#fff;border-radius:var(--border-radius);text-align:center;margin-top:2rem;margin-bottom:2rem;padding:1.5rem}.total-score h3{margin:0;font-size:1.5rem;font-weight:700}.custom-tooltip{box-shadow:var(--box-shadow);text-align:left;background-color:#fffffffa;border:1px solid #e5c184;border-radius:4px;max-width:220px;padding:1rem}.custom-tooltip .label{margin-bottom:.5rem;font-weight:700}.custom-tooltip .desc{color:var(--text-color);margin:0;font-size:.9rem;line-height:1.4}.optimization-section,.marketing-copy-section{background-color:var(--card-background);border-radius:var(--border-radius);border:1px solid var(--border-color);margin-bottom:1.5rem;padding:2rem}.optimization-section h3,.marketing-copy-section h3{color:var(--primary-color)}.optimization-section{border-left:5px solid var(--warning-border-color);background-color:var(--warning-bg-color)}.optimization-section ul,.marketing-copy-section ul{flex-direction:column;gap:1rem;padding-left:0;list-style-type:none;display:flex}.optimization-section li{padding-left:1.5rem;line-height:1.5;position:relative}.optimization-section li:before{content:"💡";position:absolute;top:0;left:0}.marketing-copy-section li{border:1px solid var(--border-color);background-color:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.marketing-copy-section p{color:#555;flex-grow:1;margin:0;font-style:italic;line-height:1.5}.marketing-copy-section button{background-color:var(--secondary-color);border:1px solid var(--border-color);color:var(--primary-color);cursor:pointer;border-radius:6px;flex-shrink:0;padding:.5rem 1rem;font-weight:500;transition:background-color .2s,color .2s}.marketing-copy-section button:hover{background-color:var(--primary-color);color:#fff}.palette-generator{border-top:1px solid var(--border-color);justify-content:center;margin-top:1rem;padding-top:2rem;display:flex}.palette-button{background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.8rem 2rem;font-size:1rem;font-weight:500;transition:background-color .3s,transform .2s}.palette-button:hover:not(:disabled){background-color:#c01a1f;transform:translateY(-2px)}.palette-button:disabled{cursor:not-allowed;background-color:#9e9e9e}.palettes-grid{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (min-width:768px){.palettes-grid{grid-template-columns:repeat(3,1fr)}}.palette-card{background-color:var(--card-background);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;box-shadow:0 2px 6px #0000000d}.palette-name{color:var(--primary-color);text-align:center;margin-bottom:1rem;font-weight:500}.palette-colors{flex-wrap:wrap;justify-content:space-around;gap:1rem;display:flex}.color-swatch-container{flex-direction:column;align-items:center;gap:.5rem;display:flex}.color-swatch{border:2px solid #0000001a;border-radius:50%;width:50px;height:50px;transition:transform .2s ease-in-out;box-shadow:0 1px 3px #0000001a}.color-swatch:hover{transform:scale(1.1)}.color-hex{cursor:pointer;color:#555;text-align:center;background:0 0;border:none;border-radius:2px;min-width:70px;padding:.25rem;font-family:monospace;font-size:.8rem;transition:background-color .2s,color .2s}.color-hex:hover{background-color:#e0e0e0}.download-section{border-top:1px solid var(--border-color);justify-content:center;margin-top:1rem;padding-top:2rem;display:flex}.download-pdf-button{color:#fff;cursor:pointer;background-color:#333;border:none;border-radius:4px;padding:.8rem 2.5rem;font-size:1.1rem;font-weight:500;transition:background-color .3s,transform .2s}.download-pdf-button:hover:not(:disabled){background-color:#111;transform:translateY(-2px)}.download-pdf-button:disabled{cursor:not-allowed;background-color:#9e9e9e}.training-data-section{border-top:1px solid var(--border-color);margin:2rem 0 0;padding-top:2rem}.training-data-section h2{text-align:center;color:var(--text-color);margin-bottom:1rem;font-weight:500}.training-controls{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.training-list{grid-template-columns:1fr;gap:12px;display:grid}.training-list-item{border:1px solid var(--border-color);background:#fff;border-radius:4px;padding:12px}.training-list-meta{color:#555;align-items:center;gap:8px;margin-bottom:8px;display:flex}.training-list-images{flex-wrap:wrap;gap:8px;display:flex}.modal-overlay{z-index:1000;background-color:#0009;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.modal-content{background-color:var(--background-color);border-radius:var(--border-radius);flex-direction:column;width:90%;max-width:600px;max-height:90vh;padding:2rem;animation:.4s slideInUp;display:flex;overflow-y:auto;box-shadow:0 10px 30px #0003}@keyframes slideInUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid var(--border-color);text-align:left;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;display:flex}.modal-header h2{color:var(--text-color);margin:0;font-size:1.5rem}.modal-header h2 em{color:var(--primary-color);font-style:normal}.modal-close-button{color:#888;cursor:pointer;background:0 0;border:none;font-size:2rem;font-weight:300;line-height:1;transition:color .2s}.modal-close-button:hover{color:#333}.modal-body{text-align:left;flex-grow:1}.modal-body p{color:#555;margin-bottom:1.5rem;line-height:1.6}.training-upload-area{border:2px dashed var(--border-color);text-align:center;background-color:#f9f9f9;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.training-upload-area .upload-label{padding:.6rem 1.2rem}.training-upload-area input[type=file]{display:none}.training-previews{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.training-preview-image{-o-object-fit:cover;object-fit:cover;border:1px solid var(--border-color);border-radius:8px;width:100%;height:100px}.training-rating-section{text-align:center;border:1px solid var(--border-color);background-color:#f9f9f9;border-radius:8px;padding:1.5rem}.training-rating-section h3{text-align:center;margin-bottom:1rem;font-weight:500}.star-rating{gap:.5rem;display:inline-flex}.star{cursor:pointer;color:#ccc;font-size:2.5rem;transition:color .2s,transform .2s}.star:hover,.star.hover,.star.active{color:#fbc02d;transform:scale(1.1)}.modal-footer{border-top:1px solid var(--border-color);justify-content:flex-end;gap:1rem;margin-top:1rem;padding-top:1.5rem;display:flex}.modal-button-cancel,.modal-button-submit{cursor:pointer;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:background-color .3s,transform .2s}.modal-button-cancel{background-color:var(--secondary-color);border:1px solid var(--border-color);color:var(--text-color)}.modal-button-cancel:hover{background-color:#e0e0e0}.modal-button-submit{background-color:var(--success-color);color:#fff}.modal-button-submit:hover:not(:disabled){background-color:#2e7d32;transform:translateY(-2px)}.modal-button-submit:disabled{cursor:not-allowed;background-color:#9e9e9e}body.pdf-render-active main{width:1200px;max-width:1200px;box-shadow:none;background-color:#fff;margin:0;padding:2.5rem}body.pdf-render-active .download-section,body.pdf-render-active .palette-generator,body.pdf-render-active .interactive-overview,body.pdf-render-active .upload-section,body.pdf-render-active .analyze-button,body.pdf-render-active .campaign-slogan-input,body.pdf-render-active .scorecard-footer{display:none}.pdf-scorecard-render{gap:.75rem!important;margin-bottom:0!important}.pdf-scorecard-render .scorecard{box-shadow:none!important;border-width:1px!important;padding:.75rem!important}.pdf-scorecard-render .scorecard h3{margin-bottom:.25rem!important;font-size:.8rem!important}.pdf-scorecard-render .scorecard .score-display{margin-bottom:0!important}.pdf-scorecard-render .scorecard .score{font-size:1.25rem!important}.pdf-scorecard-render .scorecard p,.pdf-scorecard-render .tags-container{display:none}.pdf-scorecard-render .scorecard-high,.pdf-scorecard-render .scorecard-medium,.pdf-scorecard-render .scorecard-low{border-left-width:3px!important}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@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}
