:root{--ink:#111115;--muted:#68686f;--line:#dedee3;--soft:#f5f5f7;--paper:#fff;--gold:#f5b82e;--gold2:#ffd45e;--green:#1a9b61}
*{box-sizing:border-box}
body{margin:0;background:#ececef;color:var(--ink);font-family:Inter,Arial,sans-serif}
.topbar{height:68px;background:#0b0b0e;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 3.4vw;border-bottom:1px solid #29292e}
.brand{display:flex;align-items:center;gap:11px;color:white;text-decoration:none;font-size:14px;font-weight:800;letter-spacing:.07em}
.brand b{color:var(--gold)}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;background:var(--gold);border-radius:50%;overflow:hidden;border:2px solid #f8ca59}.brand-mark img{width:47px;height:47px;object-fit:contain;transform:translateY(2px)}
.tool-title{font-size:12px;font-weight:800;letter-spacing:.14em;color:#aaaab2}
.tool-title span{font-size:9px;color:#0b0b0e;background:var(--gold);padding:3px 5px;margin-left:4px;border-radius:2px}
.help{border:1px solid #3a3a40;color:#d2d2d7;background:transparent;padding:8px 13px;border-radius:6px;font-weight:600;cursor:pointer}
main{max-width:1440px;margin:auto;padding:48px 4vw 28px}
.intro{max-width:980px;margin:0 0 36px;display:flex;align-items:flex-end;gap:34px}.intro-copy-wrap{max-width:770px}.mascot-lockup{width:175px;height:145px;position:relative;display:flex;align-items:flex-end;justify-content:center;flex:0 0 auto}.mascot-lockup img{position:absolute;width:154px;height:154px;object-fit:contain;bottom:2px;z-index:2;filter:drop-shadow(0 12px 14px rgba(0,0,0,.2))}.mascot-lockup b{position:absolute;right:-28px;top:5px;background:#111;color:#fff;font:10px/1.05 "Archivo Black";letter-spacing:.07em;padding:8px 9px;transform:rotate(7deg);z-index:3;border-bottom:3px solid var(--gold)}.mascot-halo{position:absolute;width:124px;height:124px;border-radius:50%;background:var(--gold);bottom:5px;z-index:1}.mascot-halo:after{content:"";position:absolute;inset:10px;border:1px solid #111;border-radius:50%;opacity:.25}
.eyebrow{font-size:12px;letter-spacing:.17em;font-weight:800;margin:0 0 13px}
.eyebrow:before{content:"";display:inline-block;width:26px;height:3px;background:var(--gold);margin:0 9px 3px 0}
.intro h1{font:400 clamp(2.4rem,4.7vw,4.7rem)/.98 "Archivo Black",sans-serif;letter-spacing:-.045em;text-transform:uppercase;margin:0}
.intro h1 em{color:#bd8100;font-style:normal}
.intro-copy{max-width:660px;color:#606068;font-size:16px;line-height:1.55;margin:18px 0 0}
.tool-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 14px}.tool-modes button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:3px;min-height:66px;padding:12px 15px;border:1px solid #d2d2d7;background:#f7f7f9;color:#555;cursor:pointer}.tool-modes button.active{background:#111;color:#fff;border-color:#111;box-shadow:inset 0 -4px var(--gold)}.tool-modes b{font-size:13px;text-transform:uppercase}.tool-modes span{font-size:10px;color:#85858c}.tool-modes button.active span{color:#c8c8ce}.tool-modes em{font-style:normal;font-size:8px;color:#111;background:var(--gold);padding:3px 5px;margin-left:5px}.tool-modes .locked{cursor:not-allowed;opacity:.58}
.workspace{display:grid;grid-template-columns:minmax(340px,430px) minmax(500px,1fr);background:var(--paper);border:1px solid #d5d5da;box-shadow:0 20px 55px rgba(25,25,30,.09);min-height:720px}.workspace[hidden]{display:none}
.extract-workspace{display:grid;grid-template-columns:minmax(300px,360px) minmax(500px,1fr);background:#fff;border:1px solid #d5d5da;box-shadow:0 20px 55px rgba(25,25,30,.09);min-height:740px}.extract-workspace[hidden]{display:none}.extract-sidebar{padding:28px;border-right:1px solid var(--line)}.extract-upload{height:180px;border:2px dashed #bdbdc5;background:#fafafd;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}.extract-upload:hover,.extract-upload.drag{border-color:#b97c00;background:#fffaf0}.extract-upload input{display:none}.extract-upload>span{font-size:26px;margin-bottom:8px}.extract-upload b{font-size:14px}.extract-upload small{font-size:10px;color:#777;margin-top:5px}.extract-settings{margin-top:28px}.extract-settings.is-disabled{opacity:.42;pointer-events:none}.extract-control{display:flex;justify-content:space-between;align-items:flex-start;border-top:1px solid var(--line);padding-top:17px}.extract-control span{display:flex;flex-direction:column;gap:3px}.extract-control b{font-size:12px}.extract-control small{font-size:10px;color:#777}.extract-control output{background:#111;color:var(--gold);font-size:11px;font-weight:800;padding:5px 7px}.mini-size{display:flex;align-items:center;border:1px solid #ccc}.mini-size input{width:58px;border:0;padding:8px;font-weight:800}.mini-size span{font-size:9px;color:#666;padding-right:7px}.extract-tip{background:#fff6da;border-left:4px solid var(--gold);padding:13px;margin-top:18px;display:flex;flex-direction:column;gap:5px}.extract-tip b{font-size:11px;text-transform:uppercase}.extract-tip span{font-size:10px;line-height:1.45;color:#666}.extract-main{padding:28px;background:#f8f8fa;min-width:0}.extract-top,.extract-results-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.extract-top>div:first-child,.extract-results-head>div:first-child{display:flex;align-items:center;gap:11px}.extract-top h2,.extract-results-head h2{font:17px "Archivo Black";text-transform:uppercase;margin:0}.extract-top button{border:1px solid #ccc;background:white;padding:8px 11px;font-size:10px;font-weight:700;margin-left:6px}.extract-top button:disabled{opacity:.4}.extract-canvas-wrap{height:500px;position:relative;display:grid;place-items:center;overflow:auto;background:#202024;border:1px solid #111}.extract-canvas-wrap canvas{display:none;max-width:100%;max-height:100%;cursor:crosshair;touch-action:none}.extract-empty{display:flex;flex-direction:column;align-items:center;text-align:center;color:#aaa}.extract-empty span{width:92px;height:92px;background:#f5b82e;border-radius:50%;overflow:hidden;margin-bottom:13px}.extract-empty img{width:100%;height:100%;object-fit:contain}.extract-empty b{font-size:13px;color:#fff}.extract-empty small{font-size:10px;margin-top:5px}.extract-results-head{margin-top:20px}.extract-results-head>button{border:0;background:#111;color:#fff;padding:11px 14px;font-size:10px;font-weight:800;text-transform:uppercase}.extract-results-head>button:disabled{opacity:.35}.extract-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.extract-results>p{grid-column:1/-1;text-align:center;border:1px dashed #ccc;padding:22px;color:#777;font-size:11px}.extract-card{background:#fff;border:1px solid #ddd;padding:10px}.extract-thumb{height:125px;display:grid;place-items:center;background-image:linear-gradient(45deg,#eee 25%,transparent 25%),linear-gradient(-45deg,#eee 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eee 75%),linear-gradient(-45deg,transparent 75%,#eee 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0;overflow:hidden}.extract-thumb img{max-width:100%;max-height:100%;object-fit:contain}.extract-card input{width:100%;border:0;border-bottom:1px solid #ddd;padding:8px 2px;font-size:11px;font-weight:700}.extract-card footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.extract-card small{font-size:9px;color:#777}.extract-card button{border:0;background:var(--gold);padding:7px 9px;font-size:9px;font-weight:800;cursor:pointer}.exact-note{font-size:10px;line-height:1.5;color:#666;background:#ededf0;padding:11px;margin:13px 0 0}.exact-note b{color:#111}
.left-panel{border-right:1px solid var(--line);padding:28px}
.panel-heading{display:flex;align-items:flex-start;gap:13px;margin-bottom:20px}
.panel-heading>span,.step-pill{display:grid;place-items:center;background:var(--ink);color:var(--gold);font-size:11px;font-weight:800;width:28px;height:28px;border-radius:50%;flex:0 0 auto}
.panel-heading h2,.preview-top h2{font-family:"Archivo Black";font-size:19px;text-transform:uppercase;letter-spacing:-.02em;margin:2px 0 3px}
.panel-heading p{font-size:12px;color:var(--muted);margin:0}
.dropzone{height:230px;border:2px dashed #bdbdc5;background:#fafafd;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:.2s}
.dropzone:hover,.dropzone.drag{border-color:#b97c00;background:#fffaf0}
.dropzone input{display:none}
.upload-icon{display:grid;place-items:center;width:46px;height:46px;border:1px solid #c9c9cf;border-radius:50%;font-size:22px;margin-bottom:12px}
.dropzone strong{font-size:15px}
.dropzone small{font-size:12px;color:var(--muted);margin:5px 0 14px}
.choose-btn{background:var(--ink);color:white;border:0;border-radius:4px;padding:10px 17px;font-weight:700}
.settings{margin-top:30px}
.settings.is-disabled{opacity:.42;pointer-events:none}
.panel-heading.compact{margin-bottom:16px}
fieldset{border:0;border-top:1px solid var(--line);padding:18px 0 0;margin:0 0 18px}
legend{font-size:11px;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:#57575f;padding:0 7px 0 0}
.segmented{display:grid;grid-template-columns:repeat(3,1fr);background:#eeeef1;padding:3px;border-radius:6px}
.segmented button{min-height:40px;border:0;background:transparent;font-size:11px;font-weight:700;color:#66666c;border-radius:4px;cursor:pointer;padding:5px}
.segmented button.active{background:white;color:#111;box-shadow:0 1px 5px #0002}
.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:9px 0;cursor:pointer}
.toggle-row span{display:flex;flex-direction:column;gap:3px}
.toggle-row b{font-size:13px}
.toggle-row small{font-size:11px;color:var(--muted)}
.toggle-row input{display:none}
.toggle-row i{width:38px;height:22px;background:#cfcfd4;border-radius:14px;position:relative;transition:.2s}
.toggle-row i:before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:white;border-radius:50%;transition:.2s}
.toggle-row input:checked+i{background:var(--ink)}
.toggle-row input:checked+i:before{transform:translateX(16px);background:var(--gold)}
.size-control{display:flex;border:1px solid #cfcfd5;border-radius:5px;height:44px;overflow:hidden}
.size-control input{min-width:0;flex:1;border:0;padding:0 10px;font-size:16px;font-weight:800}
.size-control>span{display:flex;align-items:center;color:#666;font-size:12px;padding-right:10px}
.size-control select{border:0;border-left:1px solid #ddd;background:#f6f6f8;padding:0 8px;font-weight:700}
.size-note{font-size:11px;color:var(--muted);margin-top:7px}
.range-label{display:flex;justify-content:space-between;font-size:10px;color:#777}
.range-label b{font-size:11px;color:#111}
.range{width:100%;accent-color:#111}
.select-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;margin-top:9px}
.select-label select{border:1px solid #d2d2d8;border-radius:4px;padding:8px;background:white}
.primary-btn{width:100%;height:50px;border:0;background:var(--gold);color:#111;font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:.04em;cursor:pointer}
.primary-btn span{float:right;margin-right:10px}
.primary-btn:hover{background:var(--gold2)}
.primary-btn:active{transform:translateY(1px);filter:brightness(.96)}.primary-btn:disabled{cursor:wait;background:#ffd45e}
.preview-panel{padding:28px;background:#f8f8fa;min-width:0}
.preview-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}
.preview-top>div:first-child{display:flex;gap:12px;align-items:center}
.zoom-controls{display:flex;border:1px solid #d4d4d9;border-radius:4px;overflow:hidden}
.zoom-controls button{border:0;border-right:1px solid #ddd;background:white;padding:7px 10px;font-size:10px;font-weight:700;cursor:pointer}
.zoom-controls button:last-child{border:0}
.zoom-controls button.active{background:#111;color:white}
.preview-stage{position:relative;height:390px;display:grid;place-items:center;overflow:auto;border:1px solid #d7d7dc}
.checker{background-color:#fff;background-image:linear-gradient(45deg,#ececef 25%,transparent 25%),linear-gradient(-45deg,#ececef 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ececef 75%),linear-gradient(-45deg,transparent 75%,#ececef 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}
.preview-stage canvas{display:none;max-width:92%;max-height:92%;object-fit:contain}
.empty-preview{display:flex;flex-direction:column;align-items:center;color:#777;text-align:center}
.empty-art{display:grid;place-items:center;width:92px;height:92px;border:1px solid #cfcfd5;background:#fff4d5;margin-bottom:17px;transform:rotate(-3deg);overflow:hidden}.empty-art img{width:100px;height:100px;object-fit:contain;transform:translateY(4px)}
.empty-preview b{font-size:14px;color:#48484f}
.empty-preview small{font-size:11px;margin-top:5px}
.processing{display:none;position:absolute;inset:0;background:#ffffffda;place-items:center;align-content:center;gap:12px}
.processing span{width:32px;height:32px;border:3px solid #ddd;border-top-color:#111;border-radius:50%;animation:spin .8s linear infinite}
.processing b{font-size:12px}.processing small{font-size:11px;color:#777;font-weight:800}.processing span+ b{margin-top:2px}
@keyframes spin{to{transform:rotate(360deg)}
}
.garment-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:12px 0}
.garment-controls>span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#777}
.swatch{width:23px;height:23px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #bbb;cursor:pointer}
.swatch.active{box-shadow:0 0 0 2px var(--gold)}
.swatch.transparent{background:linear-gradient(45deg,#ddd 25%,#fff 25%,#fff 50%,#ddd 50%,#ddd 75%,#fff 75%);background-size:8px 8px}
.swatch.black{background:#101012}
.swatch.white{background:#f7f7f5}
.swatch.gray{background:#77787b}
.quality-card{background:white;border:1px solid var(--line);padding:17px;display:grid;grid-template-columns:1.25fr 1fr;gap:20px}
.quality-card>div{position:relative;padding-left:19px}
.status-dot{position:absolute;left:0;top:3px;width:9px;height:9px;background:#aaa;border-radius:50%}
.status-dot.good{background:var(--green)}
.status-dot.warn{background:#d68c00}
.quality-card strong{font-size:13px}
.quality-card p{font-size:11px;line-height:1.4;color:#707077;margin:4px 0 0}
.quality-card dl{display:grid;grid-template-columns:repeat(3,1fr);margin:0;gap:7px}
.quality-card dl div{border-left:1px solid var(--line);padding-left:9px}
.quality-card dt{font-size:9px;text-transform:uppercase;color:#777}
.quality-card dd{margin:5px 0 0;font-size:11px;font-weight:800}
.downloads{display:grid;grid-template-columns:1.2fr 1fr;gap:10px;margin-top:13px}
.downloads.is-disabled{opacity:.4;pointer-events:none}
.downloads button{display:flex;align-items:center;text-align:left;justify-content:space-between;border:1px solid #d2d2d7;background:white;padding:13px;cursor:pointer}
.downloads .download-main{background:#111;color:white;border-color:#111}
.downloads span{display:flex;flex-direction:column;gap:3px}
.downloads b{font-size:12px}
.downloads small,.downloads span span{font-size:9px;color:#999}
.downloads i{font-style:normal;font-size:18px}
.downloads button:active{transform:translateY(1px)}.downloads.just-ready{animation:downloadsReady .9s ease}.downloads.just-ready button{border-color:var(--gold);box-shadow:0 0 0 2px rgba(245,184,46,.18)}@keyframes downloadsReady{0%{transform:translateY(7px);opacity:.45}45%{transform:translateY(0);opacity:1}100%{transform:translateY(0)}}
.privacy-note{text-align:center;color:#777;font-size:11px;margin:17px}
.privacy-note:before{content:"●";color:var(--green);margin-right:7px}
.email-gate[hidden]{display:none}.email-gate{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px}.email-gate-backdrop{position:absolute;inset:0;border:0;background:rgba(8,8,11,.78);backdrop-filter:blur(5px);cursor:default}.email-card{position:relative;width:min(520px,100%);background:#fff;border:1px solid #333;padding:34px;box-shadow:0 28px 90px #0008;border-top:7px solid var(--gold)}.email-close{position:absolute;right:15px;top:11px;border:0;background:transparent;font-size:28px;line-height:1;color:#555;cursor:pointer}.email-brand{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:800;letter-spacing:.08em}.email-brand img{width:45px;height:45px;object-fit:contain;background:var(--gold);border-radius:50%}.email-brand b{color:#a66b00}.email-kicker{margin:24px 0 8px;font-size:11px;font-weight:800;letter-spacing:.16em}.email-card h2{font:34px/.98 "Archivo Black",sans-serif;text-transform:uppercase;letter-spacing:-.035em;margin:0;max-width:440px}.email-card>p:not(.email-kicker){font-size:14px;line-height:1.55;color:#5e5e65;margin:15px 0 20px}.email-card form>label:first-of-type{display:block;font-size:12px;font-weight:800;margin-bottom:7px}.email-row{display:grid;grid-template-columns:1fr auto}.email-row input{min-width:0;height:48px;border:1px solid #bbb;border-right:0;padding:0 13px;font-size:16px}.email-row input:focus{outline:2px solid var(--gold);outline-offset:-2px}.email-row button{height:48px;border:0;background:#111;color:white;padding:0 18px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;cursor:pointer}.email-row button:disabled{opacity:.55;cursor:wait}.consent-row{display:flex;align-items:flex-start;gap:9px;margin-top:13px;cursor:pointer}.consent-row input{margin-top:2px;accent-color:#111}.consent-row span{font-size:11px;line-height:1.4;color:#666}.email-error{min-height:16px;margin:8px 0 0!important;color:#b42318!important;font-size:11px!important}.email-card>small{display:block;border-top:1px solid #e0e0e4;padding-top:13px;color:#777;font-size:10px}.email-card.is-loading:after{content:"Adding you to the list…";position:absolute;inset:0;background:#fffffff2;display:grid;place-items:center;font-weight:800;font-size:13px}
body.modal-open{overflow:hidden}
@media(max-width:900px){main{padding:32px 18px}
.topbar{padding:0 18px}
.tool-title{display:none}
.workspace{grid-template-columns:1fr}
.extract-workspace{grid-template-columns:1fr}.extract-sidebar{border-right:0;border-bottom:1px solid var(--line)}.extract-canvas-wrap{height:420px}.extract-results{grid-template-columns:repeat(2,minmax(0,1fr))}
.left-panel{border-right:0;border-bottom:1px solid var(--line)}
.preview-stage{height:340px}
.quality-card{grid-template-columns:1fr}
.intro h1 br{display:none}
.mascot-lockup{width:135px}
.mascot-lockup img{width:130px;height:130px}
.mascot-lockup b{right:-15px}
}
@media(max-width:550px){.topbar{height:58px}
.brand{font-size:11px}
.brand-mark{width:34px;height:34px}
.brand-mark img{width:38px;height:38px}
.intro{margin-bottom:25px}
.intro h1{font-size:2.45rem}
.mascot-lockup{display:none}
.intro-copy{font-size:14px}
.workspace{border-left:0;border-right:0;margin:0 -18px}
.tool-modes{grid-template-columns:1fr}.tool-modes button{min-height:54px}.extract-workspace{margin:0 -18px;border-left:0;border-right:0}.extract-sidebar,.extract-main{padding:20px}.extract-canvas-wrap{height:340px}.extract-results{grid-template-columns:1fr}
.left-panel,.preview-panel{padding:20px}
.segmented{grid-template-columns:1fr}
.quality-card dl{grid-template-columns:1fr}
.quality-card dl div{border-left:0;border-top:1px solid var(--line);padding:7px 0 0}
.downloads{grid-template-columns:1fr}
.preview-stage{height:300px}
.zoom-controls{display:none}
.email-card{padding:28px 20px}.email-card h2{font-size:27px}.email-row{grid-template-columns:1fr}.email-row input{border-right:1px solid #bbb}.email-row button{width:100%}
}
