:root{--ink:#203529;--muted:#607066;--green:#225b3f;--line:#dce3dd;--cream:#f7f8f4;--soft:#e9efe6;--red:#a32727}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;line-height:1.55}button,input{font:inherit}a{color:inherit;text-decoration:none}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ab6d13;outline-offset:4px}button{border:0}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(34px,4.5vw,62px);line-height:1.1;letter-spacing:-2.6px;margin-bottom:23px;font-weight:650}h2{font-size:24px;letter-spacing:-.6px;line-height:1.25}h3{font-size:17px}small,.small{font-size:12px}.muted{color:var(--muted)}.topbar{padding:23px max(5vw,22px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#fff}.brand{display:flex;gap:12px;align-items:center;font-size:22px;font-weight:750;letter-spacing:-.5px}.brand-icon{width:42px;height:42px;display:grid;place-items:center;background:var(--green);color:#fff;border-radius:12px;font-size:28px}.brand-light{font-weight:400}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:1px}.top-actions{display:flex;align-items:center;gap:20px}.version{font-size:12px;color:var(--muted)}main{max-width:1440px;margin:auto;padding:0 5vw 64px}.tabs{display:flex;gap:32px;padding-top:25px;font-weight:600;font-size:14px}.tabs a:first-child{color:var(--green)}.count{background:#e2eadd;padding:2px 6px;border-radius:5px;margin-left:4px;font-size:11px}.hero{display:flex;justify-content:space-between;align-items:center;padding:57px 0 35px;gap:30px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2px;display:block;margin-bottom:18px;color:var(--green)}.hero h1 span{color:#728273}.hero p{color:var(--muted);max-width:540px}.hero-note{width:230px;min-height:200px;background:#e9efe4;border-radius:100px 100px 22px 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;flex-shrink:0}.hero-note span:last-child{font-size:11px;color:var(--muted)}.orb{font-size:64px;line-height:1.1;color:#607957}.workspace{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.35fr);gap:24px;align-items:stretch}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:27px;box-shadow:0 7px 25px #193f2510}.section-title{display:flex;align-items:center;gap:10px;margin-bottom:24px}.section-title h2{font-size:17px;margin:0}.step{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:var(--soft);font-size:11px;font-weight:700}.badge{margin-left:auto;font-size:10px;border:1px solid var(--line);padding:3px 8px;border-radius:5px}.stack{display:flex;flex-direction:column;gap:17px}.stack label:not(.check):not(.dropzone){font-weight:600;font-size:13px}.stack input:not([type=checkbox]):not([type=file]){display:block;width:100%;padding:12px;border:1px solid #c6d1c8;border-radius:8px;background:#fcfdfb;margin-top:7px}.stack label small{display:block;color:var(--muted);font-weight:400;margin-top:6px}.dropzone{border:1.5px dashed #a6baa9;border-radius:12px;padding:25px 12px;background:#f7faf5;text-align:center;display:flex;align-items:center;flex-direction:column;gap:8px;cursor:pointer}.dropzone.drag{background:#dcebd9;border-color:var(--green)}.dropzone>span:not(.upload-symbol){color:var(--green);font-size:12px}.dropzone input{max-width:100%;font-size:12px;color:var(--muted)}input::file-selector-button{border:1px solid #b8c6ba;background:white;border-radius:6px;padding:7px;cursor:pointer;color:var(--ink);margin-right:8px}.upload-symbol{display:grid;place-items:center;background:white;border:1px solid var(--line);border-radius:50%;width:42px;height:42px;font-size:24px;margin-bottom:5px}.dropzone small{font-size:10px;color:var(--muted)}.check{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:var(--muted)}input[type=checkbox]{accent-color:var(--green);width:16px;height:16px;flex-shrink:0}.primary,.secondary,.quiet,.danger{display:inline-flex;align-items:center;justify-content:center;gap:15px;border-radius:8px;padding:12px 18px;font-weight:600;font-size:13px}.primary{background:var(--green);color:white}.primary:hover{background:#153f2a}.secondary{background:var(--soft);color:var(--ink)}.quiet{background:transparent;padding:8px;font-size:12px}.danger{background:var(--red);color:white}.privacy-note{font-size:11px;color:var(--muted);margin:0}.tip{border-top:1px solid var(--line);padding-top:20px;margin-top:20px;font-size:12px}.tip strong{font-size:12px}.tip p{color:var(--muted);margin:6px 0 0}.checker{background-color:#f3f4f0;background-image:conic-gradient(#e3e6e0 25%,transparent 0 50%,#e3e6e0 0 75%,transparent 0);background-size:20px 20px}.preview-empty{min-height:410px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}.preview-empty p{font-size:12px;color:var(--muted);margin:8px 0}.empty-art{font-size:100px;line-height:1.2;color:#8a9f80;margin-bottom:25px}.preview-mode{display:flex;gap:5px;margin-bottom:12px;flex-wrap:wrap}.preview-mode button{background:#f2f5ef;padding:8px 12px;border-radius:7px;color:var(--muted);font-size:12px}.preview-mode button[aria-pressed=true]{background:var(--green);color:white}.image-stage{height:390px;position:relative;border-radius:10px;overflow:hidden}.image-stage img{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.image-stage.compare #result-image{clip-path:inset(0 50% 0 0)}.image-stage.white,.swatch.white{background:#fff}.image-stage.dark,.swatch.dark{background:#243029}.image-stage.sage,.swatch.sage{background:#c7d2bc}.preview-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 0 10px;flex-wrap:wrap}.swatches{display:flex;gap:8px}.swatch{width:24px;height:24px;border:1px solid #bac6bc;border-radius:50%}.swatch[aria-pressed=true]{outline:2px solid var(--green);outline-offset:2px}#compare-control{display:block;font-size:12px;margin-top:12px}#compare-range{width:100%;accent-color:var(--green)}[hidden]{display:none!important}.history{margin-top:48px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:10px}.section-heading h2{margin:0}.section-heading .eyebrow{margin-bottom:10px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}.card-image{height:175px;display:grid;place-items:center}.image-open{height:100%;width:100%;background:transparent;padding:14px}.image-open img{object-fit:contain;width:100%;height:100%}.card-body{padding:16px}.card h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0 0 4px;font-size:14px}.card p{margin-bottom:9px}.status{font-size:10px;padding:3px 7px;border-radius:5px;background:#edf2e8}.status.failed{background:#fce6e4;color:var(--red)}.status.processing{background:#fff1d5;color:#805412}.card-actions{display:flex;justify-content:space-between;gap:8px;margin-top:17px;font-size:12px}.card-actions a{font-weight:600}.delete-button{font-size:12px;background:none;color:var(--red);padding:0}.job-placeholder{font-size:45px;color:var(--muted)}.pagination{display:flex;justify-content:center;gap:25px;margin:20px;font-size:13px}.empty-history{color:var(--muted);text-align:center}.settings{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:60px}.settings dl{display:grid;grid-template-columns:130px 1fr;font-size:13px;gap:10px}.settings dt{color:var(--muted)}.settings dd{margin:0;overflow-wrap:anywhere}.settings h3{margin:0}.auth{max-width:470px;margin:70px auto}.auth h1{font-size:35px;letter-spacing:-1px}.auth .eyebrow{font-size:9px}footer{padding:24px 5vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;font-size:12px}.notice{padding:15px 20px;background:#e0eddb;border-radius:10px;margin-top:20px}.error{background:#fae9e6;color:var(--red)}.error-text{color:var(--red)}#upload-status{font-size:13px;margin:0;overflow-wrap:anywhere}.batch-results{font-size:12px;margin:0;padding-left:16px;overflow-wrap:anywhere}dialog{max-width:440px;border:1px solid var(--line);border-radius:16px;padding:25px;color:var(--ink)}dialog::backdrop{background:#14201abb}dialog form{display:flex;gap:12px;justify-content:flex-end}@media(min-width:1600px){main{padding-left:40px;padding-right:40px}}@media(max-width:1000px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-note{width:190px}.workspace{gap:16px}.panel{padding:20px}}@media(max-width:760px){main{padding:0 20px 40px}.workspace{grid-template-columns:1fr}.hero{padding:40px 0 20px}.hero-note{display:none}.hero h1{letter-spacing:-1.4px}.tabs{gap:20px;font-size:12px}.settings{grid-template-columns:1fr;gap:30px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.image-stage{height:360px}.preview-empty{min-height:300px}.topbar{padding:18px 20px}.version{display:none}.brand{font-size:19px}.brand-icon{width:36px;height:36px}.auth{margin:35px auto}footer{flex-direction:column}.settings dl{grid-template-columns:110px 1fr}.section-heading .quiet{font-size:11px}.card-image{height:150px}.card-body{padding:12px}}@media(max-width:390px){.cards{grid-template-columns:1fr}.tabs{gap:13px}.preview-bottom .primary{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.local-options{border:1px solid var(--line);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:13px;min-width:0}.local-options legend{font-weight:650;font-size:13px;padding:0 5px}.local-options p{margin:0}.local-options select{display:block;margin-top:6px;width:100%;max-width:100%;border:1px solid #c6d1c8;border-radius:8px;background:white;padding:10px;font:inherit;color:var(--ink)}.local-options output{float:right;background:var(--soft);border-radius:4px;padding:0 6px}.stack .local-options input[type=range]{padding:0;accent-color:var(--green);border:0;height:24px}.stack .local-options input[type=color]{height:42px;padding:4px}.preview-panel{align-self:start}.preview-empty{min-height:470px}@media(max-width:760px){.preview-empty{min-height:300px}}
