:root{--ink:#17191b;--muted:#696c6f;--cream:#f5f1e9;--paper:#fffdfa;--line:#ddd9d1;--lime:#d8ff45;--lime-dark:#b7e315;--coral:#ff6f55;--shirt:#17191b;--radius:20px;--shadow:0 22px 60px rgba(30,25,15,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif}button,input,textarea{font:inherit;color:inherit}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1180px)/2));border-bottom:1px solid rgba(23,25,27,.12);position:sticky;top:0;background:rgba(245,241,233,.9);backdrop-filter:blur(14px);z-index:20}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--ink);font:700 15px Manrope}.brand-mark{display:grid;place-items:center;width:34px;height:34px;background:var(--ink);color:var(--lime);border-radius:10px;font-size:22px}.prototype-pill{font-size:12px;background:#e8e2d7;padding:6px 10px;border-radius:999px}.text-button{border:0;background:none;font-weight:700;cursor:pointer}.text-button span{display:inline-grid;place-items:center;background:var(--ink);color:white;border-radius:50%;min-width:23px;height:23px;margin-left:5px;font-size:11px}main{width:min(1180px,calc(100% - 40px));margin:auto;padding-bottom:80px}.intro{text-align:center;padding:68px 20px 48px}.eyebrow,.kicker{letter-spacing:.13em;font-size:11px;font-weight:800}.eyebrow{color:#68731f}.intro h1{font:800 clamp(38px,6vw,72px)/.98 Manrope;margin:12px 0 18px;letter-spacing:-.055em}.intro>p:last-child{margin:auto;color:var(--muted);font-size:17px;max-width:560px}.stepper{display:flex;align-items:center;justify-content:center;margin-bottom:30px}.step{border:0;background:none;display:grid;grid-template-columns:34px auto;column-gap:9px;text-align:left;opacity:.42;cursor:pointer;padding:4px}.step span{grid-row:1/3;width:32px;height:32px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-weight:800}.step b{font-size:13px}.step small{font-size:10px;color:var(--muted)}.step.is-active,.step.is-complete{opacity:1}.step.is-active span{background:var(--lime);border-color:var(--lime)}.step.is-complete span{background:var(--ink);color:white}.stepper i{width:52px;height:1px;background:#c8c2b8;margin:0 12px}.panel{background:var(--paper);border:1px solid rgba(23,25,27,.09);border-radius:28px;box-shadow:var(--shadow);overflow:hidden}.step-panel{display:none}.step-panel.is-active{display:block;animation:rise .35s ease}@keyframes rise{from{opacity:0;transform:translateY(10px)}}.section-heading,.studio-head{display:flex;align-items:end;justify-content:space-between;padding:38px 42px 28px;border-bottom:1px solid var(--line)}.section-heading h2,.studio-head h2{font:800 32px Manrope;letter-spacing:-.04em;margin:6px 0 0}.section-heading>p,.studio-head>div>p{max-width:390px;color:var(--muted);font-size:14px;margin:0}.kicker{color:#6f772d}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:28px 42px 18px}.product-card{display:grid;grid-template-columns:110px 1fr;gap:18px;position:relative;text-align:left;border:1px solid var(--line);border-radius:18px;background:white;padding:20px;cursor:pointer;transition:.2s}.product-card:hover{transform:translateY(-2px);border-color:#aaa}.product-card.is-selected{border:2px solid var(--ink);padding:19px}.selection-check{display:none;position:absolute;right:14px;top:14px;width:23px;height:23px;background:var(--lime);border-radius:50%;place-items:center;font-size:12px}.is-selected .selection-check{display:grid}.recommended{position:absolute;right:14px;top:-11px;background:var(--ink);color:white;padding:5px 9px;border-radius:6px;font-size:9px;letter-spacing:.08em}.shirt-mini{display:grid;place-items:center;background:#efede8;border-radius:12px}.shirt-mini svg{width:74px;fill:#222}.shirt-mini.premium svg{fill:#f1f0eb;filter:drop-shadow(0 5px 5px #bbb)}.product-copy{display:flex;flex-direction:column}.product-copy small{font-size:10px;letter-spacing:.08em;color:var(--muted)}.product-copy strong{font:800 20px Manrope;margin:5px 0}.product-copy span{font-size:12px;color:var(--muted);line-height:1.45}.product-copy b{font-size:13px;margin-top:auto;padding-top:10px}.config-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;padding:24px 42px 36px}.config-block>label,.label-row label{display:block;font-weight:700;font-size:13px;margin-bottom:14px}.label-row{display:flex;justify-content:space-between}.label-row small{color:var(--muted);font-size:10px}.colors{display:flex;gap:10px;flex-wrap:wrap}.color-button{width:38px;height:38px;border-radius:50%;background:var(--color);border:2px solid white;box-shadow:0 0 0 1px #ccc;cursor:pointer;position:relative}.color-button.is-selected{box-shadow:0 0 0 2px var(--ink)}.color-button.is-selected:after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:var(--check);font-weight:800}.selected-value{display:grid;grid-template-columns:8px 1fr;gap:2px 9px;margin-top:18px;padding:12px;background:#f4f1eb;border-radius:10px;font-size:13px}.selected-value>span{width:8px;height:8px;background:var(--shirt);border-radius:50%;margin-top:5px}.selected-value small{grid-column:2;color:var(--muted);font-size:10px}.size-table{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.size-control{text-align:center}.size-control label{display:block;font-weight:800;font-size:12px;margin-bottom:7px}.counter{display:flex;border:1px solid var(--line);border-radius:8px;height:36px;background:white}.counter button{width:28px;border:0;background:none;cursor:pointer}.counter input{width:25px;min-width:0;border:0;text-align:center;background:transparent;font-weight:700}.quantity-total{display:flex;justify-content:space-between;margin-top:15px;padding-top:13px;border-top:1px solid var(--line);font-size:13px}.panel-footer{background:#f0ece4;padding:19px 42px;display:flex;justify-content:space-between;align-items:center}.panel-footer>div:first-child{display:grid;grid-template-columns:auto auto;gap:0 8px;align-items:baseline}.panel-footer small{font-size:10px;color:var(--muted)}.panel-footer strong{font:800 20px Manrope}.panel-footer>div>span{grid-column:1/3;font-size:9px;color:var(--muted)}.primary-button,.secondary-button,.generate-button{border:0;border-radius:11px;padding:14px 18px;font-weight:800;cursor:pointer}.primary-button{background:var(--ink);color:white;min-width:210px}.primary-button span{color:var(--lime);margin-left:12px}.primary-button:disabled{opacity:.35;cursor:not-allowed}.secondary-button{background:white;border:1px solid var(--line)}.panel-footer.compact{padding:16px 42px}.studio-head{align-items:center}.side-switch{display:flex;background:#eeeae2;border-radius:11px;padding:4px}.side-switch button{border:0;background:none;padding:10px 16px;border-radius:8px;font-weight:700;cursor:pointer}.side-switch button.is-active{background:white;box-shadow:0 2px 10px #d7d0c4}.optional{font-size:8px;color:var(--muted);font-weight:500}.studio-grid{display:grid;grid-template-columns:1fr 1fr;min-height:620px}.design-controls{padding:34px 42px;border-right:1px solid var(--line)}.preset-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:24px}.preset-row button{border:1px solid var(--line);border-radius:999px;background:white;padding:8px 11px;font-size:11px;cursor:pointer}.preset-row button:hover{border-color:var(--ink)}.prompt-label{font-weight:800;font-size:13px;display:block;margin-bottom:9px}textarea{width:100%;height:126px;border:1px solid var(--line);border-radius:12px;resize:none;padding:14px;line-height:1.5;outline:none}textarea:focus,input:focus{border-color:#8c991d;box-shadow:0 0 0 3px rgba(216,255,69,.3);outline:none}.textarea-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;margin:7px 0 18px}.upload-zone{border:1px dashed #aaa;border-radius:12px;display:grid;grid-template-columns:40px auto;column-gap:11px;padding:15px;cursor:pointer}.upload-zone input{display:none}.upload-icon{grid-row:1/3;background:#eeeae3;border-radius:9px;width:38px;height:38px;display:grid;place-items:center;font-size:18px}.upload-zone strong{font-size:12px}.upload-zone small{font-size:9px;color:var(--muted)}.reference-list{display:flex;gap:7px;margin-top:8px}.reference-list img{width:48px;height:48px;object-fit:cover;border-radius:8px}.advanced{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0;margin:18px 0;font-size:11px}.advanced summary{cursor:pointer;font-weight:700;display:flex;justify-content:space-between}.advanced label{display:block;margin-top:10px;color:var(--muted)}.generate-button{width:100%;background:var(--lime);font:800 14px Manrope}.generate-button span{font-size:18px;margin-right:6px}.generate-button small{font-size:8px;opacity:.6;margin-left:6px}.generation-note{text-align:center;color:var(--muted);font-size:9px;line-height:1.4}.preview-column{background:#ebe7df;display:flex;flex-direction:column}.preview-toolbar,.preview-info{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;font-size:11px}.preview-toolbar button{border:0;background:white;border-radius:8px;width:31px;height:31px;cursor:pointer}.live-dot{display:inline-block;width:7px;height:7px;background:#7da617;border-radius:50%;box-shadow:0 0 0 4px rgba(125,166,23,.15);margin-right:6px}.shirt-stage{flex:1;min-height:510px;position:relative;display:grid;place-items:center;overflow:hidden}.stage-glow{position:absolute;width:430px;height:430px;background:radial-gradient(circle,#fff 0,transparent 68%);opacity:.6}.shirt-render{position:absolute;width:min(88%,500px);height:auto}.shirt-render #shirt-body{fill:var(--shirt)}.shirt-seam{fill:none;stroke:rgba(255,255,255,.16);stroke-width:3}.print-zone{position:absolute;top:31%;left:50%;transform:translateX(-50%);width:30%;height:37%;display:flex;align-items:center;justify-content:center}.print-zone img{max-width:100%;max-height:100%;object-fit:contain;display:none;filter:drop-shadow(0 1px 0 rgba(0,0,0,.15))}.empty-design{color:color-mix(in srgb,var(--shirt) 25%,#888);border:1px dashed currentColor;border-radius:8px;padding:19px 10px;text-align:center;font-size:9px}.empty-design b{display:block;font-size:23px;margin-bottom:6px}.side-label{position:absolute;bottom:26px;background:rgba(255,255,255,.75);padding:6px 10px;border-radius:99px;font-size:8px;font-weight:800;letter-spacing:.12em}.preview-info{color:var(--muted);border-top:1px solid #d2cdc3}.preview-info span:first-child{font-weight:800;color:var(--ink)}.review-grid{display:grid;grid-template-columns:1.45fr .55fr;gap:30px;padding:36px 42px}.review-visuals{display:grid;grid-template-columns:1fr 1fr;gap:14px}.review-visuals article{background:#efebe4;border-radius:15px;padding:14px;text-align:center}.review-visuals article>span{font-size:9px;font-weight:800;letter-spacing:.12em}.review-visuals button{border:0;background:none;text-decoration:underline;font-size:10px;cursor:pointer}.review-shirt{height:300px;position:relative;background-repeat:no-repeat;background-position:center;background-size:92%}.order-card{border:1px solid var(--line);border-radius:16px;padding:22px;background:white;height:max-content}.order-card h3,.checkout-form h3{font:800 17px Manrope;margin:0 0 18px}.summary-line,.price-line{display:flex;justify-content:space-between;font-size:11px;margin:11px 0}.summary-line span,.price-line span{color:var(--muted)}.summary-line b{text-align:right;max-width:160px}.order-card hr{border:0;border-top:1px solid var(--line);margin:18px 0}.grand-total{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.grand-total strong{font:800 23px Manrope}.order-card>small{display:block;color:var(--muted);line-height:1.45;margin-top:12px}.confirmation{display:flex;gap:12px;margin:0 42px 28px;padding:15px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.confirmation span{display:flex;flex-direction:column}.confirmation b{font-size:12px}.confirmation small{font-size:10px;color:var(--muted)}.checkout-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:36px;padding:36px 42px}.checkout-form h3{margin-top:26px}.checkout-form h3:first-child{margin-top:0}.checkout-form label{display:block;font-size:11px;font-weight:700}.checkout-form input{display:block;width:100%;border:1px solid var(--line);border-radius:9px;padding:12px;margin-top:7px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-row.small{grid-template-columns:.45fr 1fr}.payment-placeholder{display:flex;align-items:center;gap:12px;border:1px solid var(--line);padding:15px;border-radius:11px;margin-bottom:18px}.payment-placeholder>span{font-size:24px}.payment-placeholder div{display:flex;flex-direction:column}.payment-placeholder small{color:var(--muted);font-size:9px}.payment-placeholder em{margin-left:auto;font-size:9px}.full{width:100%}.final-card{background:#f4f0e8}.checkout-item{display:flex;gap:10px;align-items:center;margin:12px 0;font-size:11px}.checkout-thumb{width:52px;height:52px;background-color:#ddd;border-radius:8px;background-position:center;background-repeat:no-repeat;background-size:90%}.checkout-item span{display:flex;flex-direction:column}.success{text-align:center;background:var(--paper);padding:80px 20px;border-radius:28px;box-shadow:var(--shadow)}.success>span{display:grid;place-items:center;width:60px;height:60px;background:var(--lime);border-radius:50%;margin:0 auto 20px;font-size:28px}.success h2{font:800 36px Manrope;max-width:700px;margin:10px auto}.success>p:not(.eyebrow){color:var(--muted);max-width:590px;margin:0 auto 28px}dialog{border:0;border-radius:18px;padding:0;background:#ebe7df;width:min(650px,90vw);box-shadow:0 40px 100px #0006}dialog::backdrop{background:#17191bcc;backdrop-filter:blur(5px)}#close-dialog{position:absolute;right:15px;top:15px;border:0;background:white;width:36px;height:36px;border-radius:50%;font-size:24px;z-index:2;cursor:pointer}#dialog-content .shirt-stage{height:650px}
@media(max-width:800px){main{width:min(100% - 22px,1180px)}.topbar{padding:0 14px}.prototype-pill{display:none}.intro{padding:42px 10px 30px}.stepper{justify-content:space-between}.step{grid-template-columns:32px}.step b,.step small{display:none}.stepper i{flex:1;width:auto;margin:0 4px}.section-heading,.studio-head{padding:28px 22px;display:block}.section-heading>p{margin-top:10px}.product-grid,.config-grid,.studio-grid,.review-grid,.checkout-grid{grid-template-columns:1fr;padding:22px}.product-grid{gap:12px}.product-card{grid-template-columns:82px 1fr}.config-grid{gap:26px}.size-table{grid-template-columns:repeat(3,1fr)}.panel-footer,.panel-footer.compact{padding:15px 22px}.panel-footer>div:first-child{display:none}.primary-button{min-width:0}.studio-head .side-switch{margin-top:20px}.design-controls{border-right:0;border-bottom:1px solid var(--line);padding:26px 22px}.shirt-stage{min-height:470px}.review-grid{gap:20px}.review-visuals{gap:8px}.review-shirt{height:230px}.confirmation{margin:0 22px 22px}.checkout-form .field-row{grid-template-columns:1fr}.success{padding:60px 20px}}
