:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#24262a;background:#f5f5f7;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--surface:#fff;--bg:#f5f5f7;--text:#24262a;--muted:#656970;--line:#e5e6e8;--accent:#0066cc;--subtle:#f6f7f8;--stage:#eeefef}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.45}button,a,input,summary{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--accent)}button{transition:background .15s,box-shadow .15s,transform .15s}button:active:not(:disabled){transform:translateY(1px)}button svg{flex-shrink:0}button:hover:not(:disabled){filter:brightness(.96)}a{color:inherit;text-decoration:none}.topbar{height:80px;max-width:1440px;padding:0 64px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-size:23px;font-weight:650;letter-spacing:-1px}.brand-caption{font-size:12px;font-weight:400;letter-spacing:.2px;margin:6px 0 0 3px;color:var(--muted)}.brand-mark{display:grid;grid-template-columns:repeat(2,9px);gap:3px;transform:rotate(-8deg);margin-right:3px}.brand-mark i{width:9px;height:9px;border-radius:2px;background:#486f70}.brand-mark i:nth-child(2){background:#9db8b4}.brand-mark i:nth-child(3){background:#c4ab7e}.brand-mark i:nth-child(4){background:#5f8481}.privacy{display:flex;gap:8px;font-size:12px;color:var(--muted)}main{max-width:1440px;margin:auto;padding:0 64px}.intro{display:flex;justify-content:space-between;align-items:flex-end;padding:48px 0 38px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:650;color:var(--muted);margin:0 0 16px}h1{font-size:clamp(32px,3.3vw,48px);letter-spacing:-1.8px;line-height:1.12;font-weight:600;margin:0}h1 span{color:#7a7e80}.intro-copy{font-size:14px;color:var(--muted);margin:20px 0 0;line-height:1.6}.material-note{display:flex;align-items:center;gap:17px;padding:0 2px 5px 20px;flex-shrink:0}.material-note strong{display:block;font-size:16px;font-weight:600}.material-note span:not(.material-cube){display:block;font-size:11px;color:var(--muted);margin-top:6px}.material-cube{width:42px;height:42px;background:linear-gradient(140deg,#a2b7ae,#76948b);border-radius:5px;box-shadow:3px 4px #536f65,9px 11px 14px #24393215;transform:rotate(-9deg)}.workspace{display:grid;grid-template-columns:310px minmax(0,1fr);background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 6px 24px #252b3504}.settings{border-right:1px solid var(--line)}.setting-section{padding:24px;border-bottom:1px solid var(--line)}.section-heading{display:flex;align-items:center;gap:9px;margin-bottom:18px}.section-heading h2{font-size:14px;letter-spacing:-.2px;font-weight:600;margin:0}.step{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:10px;font-weight:600;width:21px;height:21px;color:var(--muted)}.upload{display:flex;flex-direction:column;align-items:center;gap:8px;border:1px dashed #c7ccd0;border-radius:12px;background:var(--subtle);width:100%;padding:20px 12px 17px}.upload.dragging{border-color:var(--accent);background:#e6f0ff}.upload-icon{color:var(--accent);margin-bottom:4px}.upload strong{font-size:12px;font-weight:600}.upload span:not(.upload-icon){font-size:11px;color:var(--muted)}.upload small{font-size:10px;color:var(--muted);margin-top:5px}.source-row{display:flex;align-items:center;gap:8px;margin:12px 0 14px;font-size:10px;color:var(--muted)}.source-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.source-row svg{color:#387b65}.secondary{border:1px solid var(--line);background:var(--surface);border-radius:8px;min-height:38px;font-size:12px;padding:8px 12px;display:flex;gap:8px;align-items:center;justify-content:center}.wide{width:100%}.secondary .lucide-chevron-down{margin-left:auto}.secondary.selected{background:var(--subtle)}.rotated{transform:rotate(180deg)}.unit-switch{margin-left:auto;display:flex;background:var(--subtle);border:1px solid var(--line);padding:2px;border-radius:7px}.unit-switch button{padding:4px 7px;border:0;background:transparent;border-radius:5px;min-width:30px;min-height:28px;font-size:11px;color:var(--muted)}.unit-switch button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #00000012}.dimensions{display:grid;grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr);gap:8px}.dimensions label{font-size:11px;color:var(--muted)}.number-field{display:flex;align-items:center;margin-top:8px;border:1px solid #d7d9dd;border-radius:8px;padding:0 10px;background:var(--surface)}.number-field:focus-within{border-color:var(--accent)}.number-field input{min-width:0;width:100%;height:43px;border:0;outline:none;background:none;color:var(--text);font-size:16px;font-weight:500;font-variant-numeric:tabular-nums}.number-field input:focus-visible{outline:none}.number-field span{font-size:10px}.times{align-self:end;text-align:center;margin-bottom:15px;color:var(--muted);font-size:12px}.presets{display:flex;gap:6px;margin-top:10px}.presets button{font-size:9px;min-height:30px;flex:1;padding:4px 3px;border:0;border-radius:5px;background:var(--subtle);color:var(--muted)}.hint{font-size:10px;line-height:1.8;color:var(--muted);margin:14px 0 0}.badge{font-size:10px;color:var(--muted);margin-left:auto}.swatches{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}.swatches span{aspect-ratio:1;border-radius:4px;box-shadow:inset 0 0 0 1px #0000000b}.local-note{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:10px;line-height:1.6;padding:21px 24px}.preview-panel{display:flex;flex-direction:column;min-width:0}.preview-toolbar{display:flex;align-items:center;justify-content:space-between;padding:19px 26px;border-bottom:1px solid var(--line);gap:12px}.preview-toolbar h2{display:flex;gap:9px;align-items:center;font-size:12px;font-weight:500;margin:0}.preview-toolbar h2 svg{color:var(--muted)}.view-switch{display:flex;background:var(--subtle);border:1px solid var(--line);padding:3px;border-radius:8px}.view-switch button{border:0;background:transparent;border-radius:5px;font-size:11px;padding:7px 15px;color:var(--muted);min-height:30px}.view-switch button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #00000010}.preview-stage{background:var(--stage);display:flex;align-items:center;justify-content:center;padding:65px 52px 80px;min-height:450px;flex:1;position:relative;overflow:hidden;background-image:radial-gradient(#848f8d24 .65px,transparent .65px);background-size:10px 10px}.artwork{position:relative;width:100%;max-height:560px;box-shadow:0 20px 35px -12px #263b3b33,0 3px 9px #263b3b12}.artwork canvas{display:block;width:100%;height:100%;outline:1px solid #00000008}.ruler{position:absolute;display:flex;justify-content:center;color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums;pointer-events:none}.ruler-top{left:0;right:0;top:-27px;border-top:1px solid #a7afb1;height:8px;border-left:1px solid #a7afb1;border-right:1px solid #a7afb1}.ruler-top span{position:absolute;top:-8px;padding:0 10px;background:var(--stage)}.ruler-right{top:0;bottom:0;right:-27px;width:8px;border-right:1px solid #a7afb1;border-top:1px solid #a7afb1;border-bottom:1px solid #a7afb1;align-items:center}.ruler-right span{position:absolute;white-space:nowrap;transform:rotate(90deg);padding:0 10px;background:var(--stage)}.preview-caption{display:flex;align-items:center;justify-content:center;gap:6px;position:absolute;bottom:25px;left:12px;right:12px;font-size:10px;color:var(--muted);text-align:center}.status-dot{width:5px;height:5px;border-radius:50%;background:#4e7d6d;flex-shrink:0}.result-strip{display:grid;grid-template-columns:1fr 1.5fr 1fr;padding:25px 26px 22px;border-top:1px solid var(--line)}.result-strip>div{display:flex;flex-direction:column;padding-left:23px;border-left:1px solid var(--line);gap:7px}.result-strip>div:first-child{padding-left:0;border-left:0}.result-strip span{font-size:10px;color:var(--muted)}.result-strip strong{font-size:24px;font-weight:550;letter-spacing:-.8px;font-variant-numeric:tabular-nums;white-space:nowrap}.result-strip em{font-size:11px;font-weight:400;font-style:normal;color:var(--muted);letter-spacing:0}.result-strip small{font-size:9px;color:var(--muted)}.margin-note{padding:15px 26px;display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);line-height:1.7}.margin-note strong{font-weight:500;color:var(--text)}.margin-icon{width:15px;height:15px;flex-shrink:0;border:1px solid #9aa1a3;box-shadow:inset 0 0 0 3px var(--surface);background:#a4b6af}.inventory{margin-top:38px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:30px}.inventory-header{display:flex;align-items:center;justify-content:space-between;gap:25px}.inventory .eyebrow{font-size:9px;margin-bottom:10px}.inventory h2{font-weight:550;font-size:22px;letter-spacing:-.6px;margin:0}.inventory-header p:not(.eyebrow){font-size:12px;color:var(--muted);margin:10px 0 0;line-height:1.6}.primary{background:var(--accent);color:#fff;min-height:44px;display:flex;align-items:center;gap:9px;border:0;padding:12px 17px;border-radius:9px;font-size:12px;white-space:nowrap}.primary>span{font-size:9px;opacity:.85;border-left:1px solid #ffffff50;padding-left:9px;margin-left:2px}.color-bar{display:flex;height:9px;border-radius:3px;overflow:hidden;margin:26px 0 19px}.color-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:30px}.color-item{display:flex;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);min-width:0}.color-chip{width:30px;height:30px;border-radius:5px;box-shadow:inset 0 0 0 1px #00000010;flex-shrink:0}.color-item>div{display:flex;flex-direction:column;gap:4px}.color-item strong{font-size:11px;font-weight:500}.color-item small{font-size:9px;color:var(--muted)}.color-count{margin-left:auto;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.matrix-details{margin-top:22px}.matrix-details summary{display:flex;justify-content:space-between;gap:10px;padding:12px 0;cursor:pointer;font-size:11px;list-style:none}.matrix-details summary>span{display:flex;gap:8px;align-items:center}.matrix-details summary>span:last-child{color:var(--muted);font-size:10px}.matrix-details p{font-size:11px;color:var(--muted)}.matrix-scroll{overflow:auto;max-height:300px;border:1px solid var(--line);border-radius:8px}.matrix-scroll table{border-collapse:collapse;font-size:10px;white-space:nowrap}.matrix-scroll td,.matrix-scroll th{border:1px solid var(--line);padding:7px;font-family:monospace}.export-note{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:10px;margin:15px 0 0;line-height:1.6}footer{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px;padding:27px 0 32px}footer>span{display:flex;align-items:center;gap:9px}.footer-dot{opacity:.6}.crop-controls{padding:13px 0 0}.crop-controls p{font-size:10px;color:var(--muted);line-height:1.6}.crop-controls label{display:block;margin:16px 0;font-size:11px}.crop-controls label>span{display:flex;justify-content:space-between}.crop-controls output{color:var(--muted);font-variant-numeric:tabular-nums}.crop-controls input{width:100%;accent-color:var(--accent);margin:9px 0 0;min-height:24px}.text-button{display:flex;align-items:center;gap:6px;border:0;background:none;color:var(--accent);font-size:11px;padding:8px 0;margin-bottom:8px;min-height:30px}.crop-overlay{position:absolute;inset:0;pointer-events:none;border:2px solid #fff9}.crop-overlay i{position:absolute;background:#ffffff60}.crop-overlay i:nth-child(1),.crop-overlay i:nth-child(2){top:0;bottom:0;width:1px;left:33.333%}.crop-overlay i:nth-child(2){left:66.666%}.crop-overlay i:nth-child(3),.crop-overlay i:nth-child(4){left:0;right:0;height:1px;top:33.333%}.crop-overlay i:nth-child(4){top:66.666%}.error{font-size:11px;line-height:1.6;color:#b42318;background:#fff1ef;border-radius:7px;padding:10px}.empty-state{text-align:center;max-width:300px;color:var(--muted)}.empty-state svg{color:#879595}.empty-state h3{font-size:17px;font-weight:500;color:var(--text)}.empty-state p{font-size:12px;line-height:1.7}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1500px){.intro{padding-top:60px;padding-bottom:44px}.preview-stage{min-height:500px}}@media(max-width:1100px){main{padding:0 32px}.topbar{padding:0 32px}.workspace{grid-template-columns:285px minmax(0,1fr)}.setting-section{padding:21px}.preview-stage{padding:55px 40px 65px;min-height:400px}.result-strip{padding:22px 18px}.result-strip>div{padding-left:13px}.result-strip strong{font-size:19px}.color-list{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:23px}.material-note{display:none}}@media(max-width:800px){.workspace{grid-template-columns:250px minmax(0,1fr)}.setting-section{padding:18px}.preview-toolbar{padding:15px;flex-wrap:wrap}.preview-stage{padding:50px 35px 65px;min-height:330px}.result-strip{grid-template-columns:1fr 1fr;gap:20px;padding:20px}.result-strip>div:nth-child(2){border:0;padding:0;grid-column:1/-1;grid-row:2}.margin-note{padding:15px}.intro-copy{max-width:380px}.inventory-header{align-items:flex-start}.primary{font-size:11px}.primary>span{display:none}.inventory{padding:24px}.inventory h2{font-size:20px}}@media(max-width:620px){main{padding:0 16px}.topbar{height:66px;padding:0 20px}.brand{font-size:21px}.privacy{font-size:0}.privacy svg{width:17px;height:17px}.intro{padding:32px 4px 28px}h1{font-size:36px;letter-spacing:-1.5px}.intro-copy{font-size:13px;max-width:310px}.workspace{display:flex;flex-direction:column;border-radius:16px}.settings{border-right:0}.setting-section{padding:22px}.section-heading h2{font-size:15px}.upload{padding:22px}.upload strong{font-size:14px}.upload span:not(.upload-icon){font-size:12px}.upload small,.hint,.source-row,.local-note{font-size:11px}.secondary{min-height:44px;font-size:13px}.unit-switch button{min-height:36px;min-width:38px;font-size:12px}.dimensions label{font-size:12px}.number-field input{height:48px;font-size:18px}.presets button{font-size:11px;min-height:40px}.swatches{grid-template-columns:repeat(16,1fr);gap:4px}.palette-section .hint{line-height:1.7}.local-note{padding:15px 22px}.preview-toolbar{border-top:1px solid var(--line);padding:16px}.preview-toolbar h2{font-size:13px}.view-switch button{min-height:38px;font-size:12px}.preview-stage{min-height:350px;padding:55px 38px 70px}.result-strip{grid-template-columns:1fr 1.4fr 1fr;gap:0;padding:23px 16px}.result-strip>div{padding-left:12px}.result-strip>div:nth-child(2){grid-column:auto;grid-row:auto;border-left:1px solid var(--line);padding-left:12px}.result-strip strong{font-size:19px}.result-strip small{font-size:8px}.result-strip em{font-size:9px}.margin-note{font-size:10px;padding:14px 16px}.inventory{margin-top:22px;padding:22px 18px}.inventory-header{flex-direction:column;gap:18px}.inventory h2{font-size:22px}.primary{width:100%;justify-content:center;min-height:46px;font-size:13px}.primary>span{display:block}.color-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.color-item strong{font-size:12px}.color-item small{font-size:10px}.color-count{font-size:12px}.color-chip{width:28px;height:28px}.matrix-details summary>span:last-child{font-size:0}.matrix-details summary>span:last-child svg{font-size:initial}.matrix-details summary{min-height:44px;font-size:12px}footer{gap:18px;flex-wrap:wrap;line-height:1.5;font-size:9px}.crop-controls label{font-size:13px}.crop-controls input{min-height:32px}.text-button{min-height:44px;font-size:12px}}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--surface:#202225;--bg:#161719;--text:#f2f2f4;--muted:#a7abb3;--line:#393c42;--accent:#1676d2;--subtle:#292c30;--stage:#272c2e;color:var(--text);background:var(--bg)}h1 span{color:#a0a7ab}.number-field{border-color:#555b62}.upload{border-color:#616971}.error{color:#ffb4a9;background:#472823}.source-row svg,.status-dot{color:#8ec5af}.ruler-top,.ruler-right{border-color:#717b80}.text-button,.upload-icon{color:#8cbefb}.upload.dragging{background:#253d55}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}@media(prefers-contrast:more){:root{--muted:var(--text);--line:#8b8e94}button{border:1px solid currentColor}.hint,.preview-caption{color:var(--text)}}
