.tool-wrapper{border:1px solid var(--border-primary);box-shadow:var(--shadow-md);background:#fffffff5;border-radius:26px;padding:clamp(1rem,3vw,2rem)}@media (width<=640px){.tool-wrapper{padding:var(--space-lg);border-radius:var(--radius-md)}}.dropzone{text-align:center;cursor:pointer;isolation:isolate;width:100%;min-height:228px;transition:border-color var(--duration-normal) var(--ease-out), background-color var(--duration-normal) var(--ease-out);background:linear-gradient(#fff,#fff) padding-box padding-box,linear-gradient(120deg,#cfcfff,#ffd4cf,#f5df9f) border-box;border:1.5px dashed #b9bfd4;border-radius:20px;place-items:center;padding:clamp(2.25rem,6vw,3.75rem) 1.5rem;display:grid;position:relative;overflow:hidden}.dropzone-component{width:100%}.dropzone:hover,.dropzone.dragover{border-color:var(--accent);background:var(--accent-subtle)}.dropzone:focus-within{outline:2px solid var(--accent);outline-offset:2px}@media (width<=640px){.dropzone{min-height:210px;padding:2rem 1rem}}.dropzone-input{opacity:0;cursor:pointer;position:absolute;inset:0}.preset-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.625rem;display:grid}.preset-chip{border:1px solid var(--border-primary);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);text-align:left;user-select:none;background-color:#fff;flex-direction:column;align-items:flex-start;padding:.75rem;display:flex}.preset-chip:hover{border-color:var(--border-hover);background-color:#fafaff}.preset-chip.active{border-color:var(--accent);background-color:var(--accent-subtle);box-shadow:0 0 0 1px var(--accent)}.preset-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.preset-swatch{border:1px solid #ffffff38;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;margin-bottom:.55rem;font-size:.72rem;font-weight:600;display:flex;box-shadow:inset 0 0 0 1px #00000029,0 4px 12px #1a1f301f}.preset-chip[data-mode=dark] .preset-swatch{border-color:#77758d}.preset-chip[data-mode=oled] .preset-swatch{border-color:#454955}.preset-chip[data-mode=warm] .preset-swatch{border-color:#74624e}.preset-chip[data-mode=printable] .preset-swatch{border-color:#cdd2de}.split-preview-container{width:100%;max-width:640px;margin:var(--space-lg) auto;border-radius:var(--radius-md);border:1px solid var(--border-primary);user-select:none;aspect-ratio:1/1.414;background-color:#000;max-height:500px;position:relative;overflow:hidden}.split-layer{position:absolute;inset:0}.split-layer img{object-fit:contain;width:100%;height:100%;display:block}.split-layer-inverted{position:absolute;inset:0;overflow:hidden}.split-layer-inverted img{object-fit:contain;width:100%;height:100%;display:block}.split-divider{cursor:ew-resize;z-index:10;background-color:#ffffff80;width:2px;position:absolute;top:0;bottom:0;transform:translate(-50%)}.split-handle{background-color:var(--bg-primary);width:28px;height:28px;color:var(--text-primary);box-shadow:var(--shadow-md);border:2px solid #fff9;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.progress-bar-bg{background-color:var(--bg-surface);border-radius:var(--radius-full);width:100%;height:4px;overflow:hidden}.progress-bar-fill{background-color:var(--accent);border-radius:var(--radius-full);height:100%;transition:width var(--duration-normal) var(--ease-out)}.report-card{border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-xl);background:#fff}.report-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;display:grid}.report-item{border:1px solid var(--border-primary);border-radius:var(--radius-sm);background-color:#f7f8fc;padding:.75rem}.report-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-size:.6875rem;font-weight:500}.report-value{color:var(--text-primary);margin-top:.25rem;font-size:1rem;font-weight:600}.form-select,.form-input{border:1px solid var(--border-primary);width:100%;color:var(--text-primary);border-radius:var(--radius-sm);transition:border-color var(--duration-fast) var(--ease-out);background:#fff;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;line-height:1.5}.form-select:focus,.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle);outline:none}input[type=range]{accent-color:var(--accent);width:100%}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.prose{color:var(--text-secondary);font-size:1rem;line-height:1.7}.prose h2{color:var(--text-primary);letter-spacing:-.02em;margin-top:2.5rem;margin-bottom:.75rem;font-size:1.375rem;font-weight:600}.prose h3{color:var(--text-primary);margin-top:2rem;margin-bottom:.5rem;font-size:1.125rem;font-weight:600}.prose p{margin-bottom:1.25rem}.prose ul,.prose ol{margin-bottom:1.25rem;padding-left:1.5rem}.prose li{margin-bottom:.375rem}.prose a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.prose a:hover{color:var(--accent-hover)}.prose code{background:var(--bg-surface);border-radius:4px;padding:.125em .375em;font-size:.875em}.prose strong{color:var(--text-primary);font-weight:600}.prose table{border-collapse:collapse;width:100%;margin-bottom:1.5rem}.prose th{text-align:left;color:var(--text-primary);border-bottom:1px solid var(--border-primary);padding:.625rem .75rem;font-size:.8125rem;font-weight:600}.prose td{border-bottom:1px solid var(--border-primary);padding:.625rem .75rem;font-size:.875rem}
