.lv-app *,.lv-app *:before,.lv-app *:after{box-sizing:border-box}.lv-app{--lv-primary: #1B2A4A;--lv-accent: #1061FF;--lv-accent-glow: rgba(16, 97, 255, .2);--lv-surface: #ffffff;--lv-bg: #f7f8fc;--lv-border: #e4e7ef;--lv-text: #1B2A4A;--lv-text-muted: #64748b;--lv-radius-sm: 8px;--lv-radius-md: 14px;--lv-radius-lg: 20px;--lv-shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--lv-shadow-md: 0 4px 16px rgba(0,0,0,.08), 0 2px 6px rgba(0,0,0,.05);--lv-shadow-lg: 0 16px 48px rgba(0,0,0,.12), 0 4px 16px rgba(0,0,0,.07);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--lv-bg);color:var(--lv-text);line-height:1.55;min-height:500px;border-radius:var(--lv-radius-lg);overflow:hidden}.lv-header{background:var(--lv-primary);padding:28px 32px}.lv-header__inner{display:flex;align-items:center;gap:16px;max-width:860px;margin:0 auto}.lv-logo{flex-shrink:0}.lv-heading{margin:0 0 4px;font-size:22px;font-weight:700;color:#fff;letter-spacing:-.3px}.lv-subheading{margin:0;font-size:14px;color:#ffffffa6}.lv-main{max-width:860px;margin:0 auto;padding:40px 32px;display:flex;flex-direction:column;gap:40px}.lv-section--centered{text-align:center}.lv-step-label{display:flex;align-items:center;gap:12px;margin-bottom:20px}.lv-step-number{width:30px;height:30px;border-radius:50%;background:var(--lv-primary);color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.lv-step-title{font-size:18px;font-weight:600;color:var(--lv-text);letter-spacing:-.2px}.lv-upload-zone{border:2px dashed var(--lv-border);border-radius:var(--lv-radius-md);background:var(--lv-surface);transition:border-color .2s,background .2s,box-shadow .2s;cursor:pointer;overflow:hidden;min-height:220px;display:flex;align-items:center;justify-content:center;position:relative}.lv-upload-zone:focus{outline:none;border-color:var(--lv-accent);box-shadow:0 0 0 4px var(--lv-accent-glow)}.lv-upload-zone:hover:not(.lv-upload-zone--has-preview){border-color:var(--lv-accent);background:#f5f8ff}.lv-upload-zone--dragging{border-color:var(--lv-accent);background:#eef3ff;box-shadow:0 0 0 4px var(--lv-accent-glow)}.lv-upload-zone--has-preview{border-style:solid;border-color:var(--lv-border);cursor:default;min-height:300px}.lv-upload-prompt{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 32px;text-align:center}.lv-upload-icon{margin-bottom:8px}.lv-upload-title{margin:0;font-size:16px;font-weight:600;color:var(--lv-text)}.lv-upload-sub{margin:0;font-size:14px;color:var(--lv-text-muted)}.lv-upload-link{color:var(--lv-accent);font-weight:500}.lv-upload-types{margin:4px 0 0;font-size:12px;color:#94a3b8;letter-spacing:.2px}.lv-file-input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;pointer-events:none}.lv-preview{position:relative;width:100%;height:100%}.lv-preview-img{width:100%;height:100%;object-fit:cover;display:block;min-height:280px;max-height:480px}.lv-preview-change{position:absolute;top:14px;right:14px;background:#1b2a4ad9;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fff;border:none;border-radius:999px;padding:8px 16px;font-size:12.5px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .2s}.lv-preview-change:hover{background:#1b2a4a}.lv-upload-error{margin:10px 0 0;font-size:13px;color:#dc2626;display:flex;align-items:center;gap:6px}.lv-swatches{display:flex;flex-wrap:wrap;gap:20px;padding:28px;background:var(--lv-surface);border:1px solid var(--lv-border);border-radius:var(--lv-radius-md);box-shadow:var(--lv-shadow-sm)}.lv-swatch{display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:none;cursor:pointer;padding:6px;border-radius:var(--lv-radius-sm);transition:transform .15s}.lv-swatch:hover{transform:translateY(-2px)}.lv-swatch:focus{outline:none}.lv-swatch__circle{width:62px;height:62px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;transition:box-shadow .25s,outline .25s;outline:3px solid transparent;outline-offset:3px}.lv-swatch--selected .lv-swatch__circle{outline-color:#fff;box-shadow:0 0 0 5px var(--glow-color, #1061FF),0 0 18px 2px var(--glow-color, #1061FF)}.lv-swatch__check{display:flex;align-items:center;justify-content:center;animation:lv-check-pop .25s cubic-bezier(.34,1.56,.64,1) both}@keyframes lv-check-pop{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.lv-swatch__label{font-size:11.5px;font-weight:500;color:var(--lv-text-muted);transition:color .2s;text-align:center;white-space:nowrap}.lv-swatch--selected .lv-swatch__label{color:var(--lv-text);font-weight:600}.lv-generate-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:18px 48px;border-radius:999px;font-size:17px;font-weight:700;border:2px solid transparent;cursor:pointer;letter-spacing:-.2px;transition:transform .15s,box-shadow .2s,background .2s,color .2s;background:#e2e8f0;color:#94a3b8;pointer-events:none;user-select:none}.lv-generate-btn--ready{background:linear-gradient(135deg,#1b2a4a,#1061ff);color:#fff;pointer-events:auto;box-shadow:0 6px 24px #1061ff59}.lv-generate-btn--ready:hover{transform:translateY(-2px);box-shadow:0 10px 32px #1061ff73}.lv-generate-btn--ready:active{transform:translateY(0)}.lv-generate-btn__icon{font-size:20px;line-height:1;animation:lv-sparkle 2s ease-in-out infinite}@keyframes lv-sparkle{0%,to{opacity:1;transform:scale(1) rotate(0)}50%{opacity:.7;transform:scale(1.2) rotate(20deg)}}.lv-generate-hint{margin:16px 0 0;font-size:13px;color:var(--lv-text-muted)}.lv-error{display:flex;align-items:flex-start;gap:10px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--lv-radius-sm);padding:14px 18px;font-size:14px;color:#991b1b;animation:lv-fade-in .2s ease}@keyframes lv-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.lv-loading{min-height:560px;display:flex;align-items:center;justify-content:center;background:var(--lv-bg);padding:48px 24px}.lv-loading__card{background:var(--lv-surface);border:1px solid var(--lv-border);border-radius:var(--lv-radius-lg);box-shadow:var(--lv-shadow-lg);padding:48px 52px;max-width:480px;width:100%;text-align:center;animation:lv-fade-in .4s ease}.lv-loading__orb{position:relative;width:100px;height:100px;margin:0 auto 32px}.lv-orb-ring{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(16,97,255,.2);animation:lv-pulse-ring 2s ease-out infinite}.lv-orb-ring--1{animation-delay:0s}.lv-orb-ring--2{animation-delay:.5s}.lv-orb-ring--3{animation-delay:1s}@keyframes lv-pulse-ring{0%{transform:scale(.4);opacity:1}to{transform:scale(1.4);opacity:0}}.lv-orb-core{position:absolute;inset:20px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff101,#fe8f01,#1061ff);box-shadow:0 0 32px #fe8f0199;animation:lv-orb-glow 2s ease-in-out infinite alternate}@keyframes lv-orb-glow{0%{box-shadow:0 0 24px #fe8f0166}to{box-shadow:0 0 48px #fe8f01cc,0 0 80px #1061ff4d}}.lv-loading__title{margin:0 0 8px;font-size:22px;font-weight:700;color:var(--lv-text);letter-spacing:-.3px}.lv-loading__sub{margin:0 0 32px;font-size:14px;color:var(--lv-text-muted)}.lv-steps{list-style:none;margin:0 0 28px;padding:0;text-align:left;display:flex;flex-direction:column;gap:14px}.lv-step{display:flex;align-items:center;gap:12px;font-size:14px;color:#94a3b8;transition:color .3s}.lv-step--active{color:var(--lv-text)}.lv-step--done{color:#22c55e}.lv-step__icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.lv-step__dot{width:10px;height:10px;border-radius:50%;background:#e2e8f0;margin:5px}.lv-step__spinner{width:18px;height:18px;border:2px solid rgba(16,97,255,.2);border-top-color:var(--lv-accent);border-radius:50%;animation:lv-spin .7s linear infinite;display:block}@keyframes lv-spin{to{transform:rotate(360deg)}}.lv-progress-track{height:4px;background:#e2e8f0;border-radius:999px;overflow:hidden}.lv-progress-fill{height:100%;background:linear-gradient(90deg,#1b2a4a,#1061ff);border-radius:999px;transition:width .8s ease}.lv-results{display:flex;flex-direction:column;gap:28px;padding:32px;background:var(--lv-bg);min-height:500px}.lv-results--fullscreen{position:fixed;inset:0;z-index:99999;background:#000;padding:0;gap:0;display:flex;flex-direction:column}.lv-results--fullscreen .lv-comparison{flex:1;border-radius:0;max-height:none}.lv-comparison{position:relative;width:100%;max-width:860px;margin:0 auto;border-radius:var(--lv-radius-md);overflow:hidden;background:#000;box-shadow:var(--lv-shadow-lg);touch-action:pan-y;user-select:none;-webkit-user-select:none;max-height:520px;aspect-ratio:16/9}.lv-comparison:focus{outline:none}.lv-comparison__before,.lv-comparison__after{position:absolute;inset:0}.lv-comparison__before img,.lv-comparison__after img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;user-select:none}.lv-comparison__label{position:absolute;bottom:16px;font-size:12px;font-weight:600;color:#fff;background:#00000080;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:999px;padding:4px 12px;pointer-events:none}.lv-comparison__label--before{left:14px}.lv-comparison__label--after{right:14px}.lv-comparison__handle{position:absolute;top:0;bottom:0;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;pointer-events:none;z-index:10}.lv-handle__line{flex:1;width:2px;background:#ffffffd9;box-shadow:0 0 8px #0006}.lv-handle__pill{width:44px;height:44px;border-radius:50%;background:var(--lv-accent);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px #00000059;flex-shrink:0}.lv-fullscreen-btn{position:absolute;top:14px;right:14px;z-index:20;width:36px;height:36px;border:none;border-radius:8px;background:#00000080;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.lv-fullscreen-btn:hover{background:#000000bf}.lv-fullscreen-close{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:99999;background:#ffffff26;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:10px 24px;font-size:14px;font-weight:600;cursor:pointer}.lv-results__footer{max-width:860px;margin:0 auto;width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.lv-results__color-info{display:flex;align-items:center;gap:12px}.lv-results__color-dot{width:32px;height:32px;border-radius:50%;display:block;flex-shrink:0}.lv-results__color-name{font-size:16px;font-weight:600;color:var(--lv-text)}.lv-results__actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.lv-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:999px;font-size:14px;font-weight:600;cursor:pointer;border:2px solid transparent;transition:transform .15s,box-shadow .2s,background .2s;text-decoration:none;white-space:nowrap}.lv-btn:hover{transform:translateY(-1px)}.lv-btn:active{transform:none}.lv-btn--primary{background:linear-gradient(135deg,#1b2a4a,#1061ff);color:#fff;box-shadow:0 4px 14px #1061ff4d}.lv-btn--secondary{background:var(--lv-surface);color:var(--lv-text);border-color:var(--lv-border);box-shadow:var(--lv-shadow-sm)}.lv-btn--secondary:hover{border-color:#c4c9d4}.lv-btn--outline{background:transparent;color:var(--lv-text-muted);border-color:var(--lv-border)}.lv-btn--outline:hover{background:var(--lv-surface);color:var(--lv-text)}.lv-mode-bar{background:var(--lv-primary);padding:0 32px 20px;display:flex;justify-content:center}.lv-mode-toggle{display:inline-flex;background:#ffffff1a;border-radius:999px;padding:4px;gap:2px}.lv-mode-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 22px;border-radius:999px;font-size:14px;font-weight:600;border:none;cursor:pointer;background:transparent;color:#fff9;transition:background .2s,color .2s;white-space:nowrap;letter-spacing:-.1px}.lv-mode-btn:hover{color:#ffffffe6}.lv-mode-btn--active{background:#fff;color:var(--lv-primary)}.lv-mode-btn--holiday-active{background:#fff;color:#166534}.lv-app--holiday{--lv-accent: #16a34a;--lv-accent-glow: rgba(22, 163, 74, .2)}.lv-app--holiday .lv-step-number{background:#166534}.lv-app--holiday .lv-generate-btn--holiday{background:linear-gradient(135deg,#166534,#16a34a);box-shadow:0 6px 24px #16a34a66}.lv-app--holiday .lv-generate-btn--holiday:hover{box-shadow:0 10px 32px #16a34a80}.lv-logo--holiday{font-size:36px;line-height:1;display:block}@media (max-width: 640px){.lv-mode-bar{padding:0 18px 16px}.lv-mode-btn{font-size:13px;padding:8px 16px}}.lv-footer{text-align:center;padding:16px 32px 24px;background:var(--lv-surface);border-top:1px solid var(--lv-border)}.lv-footer p{margin:0;font-size:12px;color:#94a3b8}@media (max-width: 640px){.lv-header{padding:20px}.lv-main{padding:28px 18px;gap:32px}.lv-heading{font-size:18px}.lv-swatches{gap:14px;padding:20px;justify-content:center}.lv-swatch__circle{width:54px;height:54px}.lv-generate-btn{font-size:15px;padding:16px 32px}.lv-loading__card{padding:36px 24px}.lv-results{padding:18px;gap:18px}.lv-results__footer{flex-direction:column;align-items:flex-start}.lv-results__actions{width:100%;justify-content:stretch}.lv-results__actions .lv-btn{flex:1;justify-content:center}.lv-comparison{aspect-ratio:4/3;max-height:360px}}@media (max-width: 400px){.lv-swatches{gap:10px;padding:14px}.lv-swatch__circle{width:46px;height:46px}.lv-swatch__label{font-size:10px}}
