:root{--tool-bg:#171a21;--tool-panel:#252a34;--tool-panel-soft:#20252e;--tool-surface:#1d222b;--tool-surface-dark:#12151b;--tool-ink:#f7f9fc;--tool-muted:#e1e6ee;--tool-line:#ffffff24;--tool-blue:#168bf5;--tool-blue-deep:#075eaf;--tool-link:#9bd5ff;--tool-shadow:0 18px 48px #0000004d}body{background:radial-gradient(circle at 12% 0%, #168bf51f, transparent 32rem), var(--tool-bg)}.palette-tool-shell{width:min(1800px,100% - 3rem);max-width:none;color:var(--tool-ink);box-sizing:border-box;margin:1.5rem auto 3rem;padding:0}.palette-tool-shell button,.palette-tool-shell input{font:inherit}.palette-tool-shell button{border:0}.palette-tool-hero{justify-content:space-between;align-items:center;gap:20px;min-height:64px;padding:0 0 26px;display:flex}.tool-eyebrow{color:var(--tool-link);letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:.78rem;font-weight:760}.palette-tool-hero h1{max-width:1180px;margin:0;font-size:clamp(1.55rem,2.15vw,2.75rem);line-height:1.03}.palette-tool-hero p{max-width:72ch;color:var(--tool-muted);margin:.85rem 0 0;line-height:1.7}#paletteToolHero p{text-align:left;text-align-last:auto;text-justify:auto}.hero-actions,.export-actions,.source-actions,.camera-actions{flex-wrap:wrap;gap:10px;display:flex}.source-actions,.camera-actions{grid-template-columns:1fr;display:grid}.camera-actions{grid-template-columns:1fr 1fr}.workspace{grid-template-columns:minmax(320px,380px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.input-panel,.results,.tool-panel,.faq-panel{background:radial-gradient(circle at top left, #00a8ff14, transparent 35%), linear-gradient(180deg, #ffffff05, #fff0), var(--background-two);border:1px solid #ffffff14;border-radius:20px;box-shadow:0 16px 40px #0000004d}.input-panel{gap:10px;padding:15px;display:grid;position:sticky;top:5.5rem}.results{min-width:0;padding:14px 16px;container:palette-results/inline-size}.dropzone{cursor:pointer;text-align:center;background:linear-gradient(#007bf024,#ffffff06);border:1px dashed #8fceffb8;border-radius:8px;place-items:center;gap:7px;min-height:116px;padding:14px;transition:border-color .16s,background .16s,transform .16s;display:grid;position:relative}.dropzone.is-dragging,.dropzone:focus-visible,.dropzone:focus-within{border-color:var(--tool-blue);background:linear-gradient(#007bf03d,#ffffff0a);transform:translateY(-1px)}.file-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.drop-icon{width:36px;height:36px;color:var(--tool-link);background:#ffffff14;border-radius:50%;place-items:center;display:grid}.drop-title{font-weight:780}.drop-meta,.section-head p,.metrics dt,.swatch-meta,.role-item small,.contrast-list,.empty-state,.faq-panel p{color:var(--tool-muted)}.drop-meta{max-width:34ch;font-size:.875rem;line-height:1.45}.preview-frame{aspect-ratio:16/9;background:linear-gradient(45deg, #ffffff0a 25%, transparent 25%), linear-gradient(-45deg, #ffffff0a 25%, transparent 25%), var(--tool-surface-dark);background-size:22px 22px;border-radius:8px;place-items:center;min-height:178px;display:grid;overflow:hidden}.preview-frame img,.camera-preview{object-fit:cover;width:100%;height:100%}.camera-preview{background:var(--tool-surface-dark)}.empty-preview{color:#ffffff52}.tool-button{min-height:44px;color:var(--tool-ink);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:9px;padding:0 15px;font-weight:760;transition:transform .12s,background .12s,opacity .12s,border-color .12s;display:inline-flex}.tool-button:active{transform:translateY(1px)}.tool-button:focus-visible,.swatch-chip:focus-visible,.hex-copy:focus-visible,.role-item:focus-visible,.preview-cta:focus-visible,.palette-tool-shell pre:focus-visible,.dropzone:focus-visible{outline:2px solid var(--tool-link);outline-offset:3px}.tool-button:disabled{cursor:not-allowed;opacity:.48}.tool-button[aria-busy=true]{cursor:wait}.tool-button[aria-busy=true] i{animation:.9s linear infinite palette-busy-spin}@keyframes palette-busy-spin{to{transform:rotate(360deg)}}.tool-button.primary{background-color:var(--tool-blue-deep);background-image:linear-gradient(#ffffff2e 0%,#ffffff0f 42%,#fff0 100%)}.tool-button.secondary{border:1px solid var(--tool-line);background:#ffffff12}.analyze-button{width:100%}.metrics{grid-template-columns:1fr 1fr;gap:8px;margin:0;display:grid}.metrics div{background:#ffffff0f;border-radius:8px;min-width:0;padding:9px 10px}.metrics dt,.metrics dd{display:block}.metrics dt{color:var(--tool-muted);font-size:.875rem}.metrics dd{margin-top:4px;color:var(--tool-ink);text-overflow:ellipsis;white-space:nowrap;margin-inline:0;font-size:1rem;font-weight:750;line-height:1.35;overflow:hidden}.metrics div:first-child{grid-column:1/-1}#averageColor[data-has-value]:before{background:var(--average-color,transparent);content:"";vertical-align:-.05rem;border:1px solid #ffffff8c;border-radius:50%;width:.8rem;height:.8rem;margin-right:.4rem;display:inline-block}.section-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.section-head.compact{margin-bottom:14px}.section-head h2,.faq-panel h3{margin:0;font-size:1.25rem;line-height:1.25}.section-head p{margin-top:4px;font-size:.9375rem;line-height:1.5}.status{border:1px solid var(--tool-line);max-width:22ch;color:var(--tool-ink);text-align:center;background:#ffffff14;border-radius:999px;flex:none;align-self:center;padding:5px 11px;font-size:.875rem;font-weight:750;line-height:1.35}.status[data-status-tone=problem]{color:#ffb3b3;background:#ff787824;border-color:#ff9a9a73}.status[data-status-tone=done]{color:#8ceebd;background:#6ee7a824;border-color:#6ee7a866}.palette-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;display:grid}.palette-grid,.detail-grid{transition:opacity .16s,transform .16s}.results.is-updating .palette-grid,.results.is-updating .detail-grid{opacity:.58;transform:translateY(2px)}.swatch{border:1px solid var(--tool-line);background:var(--tool-panel-soft);border-radius:8px;min-width:0;overflow:hidden}.swatch-chip{cursor:copy;justify-content:space-between;align-items:flex-start;width:100%;min-height:88px;padding:10px;display:flex}.swatch-chip span,.swatch-chip strong{background:#00000038;border-radius:999px;padding:3px 7px;font-size:.875rem;line-height:1.35}.swatch-meta{color:var(--tool-ink);gap:7px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.875rem;line-height:1.45;display:grid}.hex-copy{width:fit-content;color:var(--tool-ink);cursor:copy;font:inherit;background:0 0;min-height:32px;padding:0;font-size:1rem;font-weight:800}.detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px;margin-top:12px;display:grid}.tool-panel{min-width:0;box-shadow:none;padding:13px}.roles-list{grid-template-columns:1fr 1fr;gap:9px;display:grid}.role-item{border:1px solid var(--tool-line);min-width:0;min-height:68px;color:var(--tool-ink);cursor:copy;text-align:left;background:#ffffff0d;border-radius:8px;align-items:center;gap:10px;padding:11px 13px;display:flex}.role-item span:last-child{min-width:0}.role-item strong,.role-item small{display:block}.role-item small{color:var(--tool-ink);margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.9375rem}.role-dot{border:1px solid #ffffff38;border-radius:50%;flex:none;width:36px;height:36px}.role-placeholder{background:linear-gradient(90deg,#ffffff0f,#ffffff1a) 0 0/200% 100%;border-radius:8px;min-height:58px}.results.is-updating .role-placeholder{animation:1.5s ease-in-out infinite palette-placeholder-pulse}@keyframes palette-placeholder-pulse{50%{background-position:100% 0}}.contrast-card{margin-top:12px}.contrast-preview{border-radius:8px;gap:10px;padding:12px 14px;display:grid}.contrast-preview span{opacity:1}.contrast-preview strong{font-size:1.12rem}.preview-cta{border-radius:8px;align-items:center;width:fit-content;min-height:34px;padding:0 14px;font-weight:800;display:inline-flex}.contrast-list{color:var(--tool-ink);gap:9px;margin-top:8px;font-size:.9375rem;display:grid}.contrast-note{color:var(--tool-muted);margin:10px 0 0;font-size:.875rem;line-height:1.5}.ratio{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.wcag{letter-spacing:.02em;text-transform:uppercase;border:1px solid;border-radius:999px;padding:1px 6px;font-size:.75rem;font-weight:700}.wcag[data-level=aaa]{color:#6ee7a8}.wcag[data-level=aa]{color:#86d0ff}.wcag[data-level=aaLarge]{color:#f3c969}.wcag[data-level=fail]{color:#ff9a9a}.swatch-ratio{align-items:center;gap:5px;display:flex}.contrast-list span{justify-content:space-between;gap:10px;display:flex}.export-actions{grid-template-columns:1fr 1fr;margin-bottom:12px;display:grid}pre{border:1px solid var(--tool-line);background:var(--tool-surface-dark);color:#cfeaff;border-radius:8px;min-height:152px;max-height:198px;margin:0;padding:14px;font-size:.9375rem;line-height:1.55;overflow:auto}.empty-state{border:1px dashed var(--tool-line);text-align:center;border-radius:8px;grid-column:1/-1;place-items:center;min-height:118px;padding:20px;font-size:.9375rem;line-height:1.5;display:grid}.empty-state.small{min-height:106px;padding:14px}.faq-panel{margin-top:2.5rem;margin-bottom:2.5rem;padding:2.2rem}.seo-text-content p,.faq-content p{text-align:justify;color:#ffffffd9;margin-bottom:1.2rem;font-size:.95rem;line-height:1.65}.seo-text-content p:last-child,.faq-content p:last-child{margin-bottom:0}.seo-faq-divider{border-top:1px solid #ffffff14;margin-top:2.5rem;padding-top:2rem}.faq-content h4{color:var(--hover-color);margin-top:1.5rem;font-size:1.05rem;font-weight:600}.faq-section-title{color:#fff;margin-bottom:1.5rem;font-size:1.75rem;font-weight:700}.faq-panel h3#faq-estrattore-title{margin-top:0;margin-bottom:1.5rem;font-size:1.4rem;font-weight:700}@media (hover:hover) and (pointer:fine){.dropzone:hover{border-color:var(--tool-blue);background:linear-gradient(#007bf03d,#ffffff0a);transform:translateY(-1px)}.tool-button:hover:not(:disabled){filter:brightness(1.1)}.tool-button.secondary:hover{background:#007bf029;border-color:#8fceff94}}@media (width<=980px){.palette-tool-shell{width:calc(100% - 2.25rem)}.palette-tool-hero{text-align:center;grid-template-columns:minmax(0,1fr);place-items:center stretch;width:100%;display:grid}.palette-tool-hero>div:first-child,.palette-tool-hero h1,#paletteToolHero p{text-align:center;text-align-last:center;width:100%;max-width:none;margin-inline:auto}.hero-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.hero-actions .tool-button{width:100%}.workspace,.detail-grid{grid-template-columns:1fr}.palette-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.input-panel{position:static}}@media (width<=620px){.palette-tool-shell{width:calc(100% - 1.5rem);margin:1rem auto 1.5rem}.palette-tool-hero{gap:12px;min-height:auto;padding-bottom:20px}.palette-tool-hero h1{font-size:1.55rem;line-height:1.08}.tool-eyebrow{margin-bottom:4px;font-size:.75rem}.results,.input-panel,.tool-panel{padding:12px}.faq-panel{padding:1.25rem}.workspace{gap:12px}.dropzone{min-height:92px;padding:12px}.preview-frame{min-height:136px}.tool-button{min-height:44px;padding:0 12px}.section-head,.roles-list{grid-template-columns:1fr;display:grid}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.metrics div{padding:8px}.metrics dt,.metrics dd{font-size:.875rem}.section-head{gap:8px;margin-bottom:11px}.palette-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.swatch-chip{min-height:76px;padding:8px}.swatch-meta{padding:11px;font-size:.875rem;line-height:1.45}.detail-grid{gap:12px;margin-top:12px}.export-actions{gap:8px}pre{min-height:142px;max-height:180px;padding:11px;font-size:.875rem}}@media (prefers-reduced-motion:reduce){.dropzone,.tool-button,.palette-grid,.detail-grid{transition:none}.tool-button[aria-busy=true] i,.results.is-updating .role-placeholder{animation:none}}@media (width>=1500px){.workspace{grid-template-columns:minmax(360px,400px) minmax(0,1fr)}.swatch-chip{min-height:82px}}@container palette-results (width>=850px){.palette-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width<=520px){.palette-grid{grid-template-columns:1fr}.swatch{grid-template-columns:92px minmax(0,1fr);display:grid}.swatch-chip{flex-direction:column;height:100%;min-height:148px}.roles-list,.export-actions,.hero-actions{grid-template-columns:1fr}}[hidden]{display:none}
