:root{--bg:#f5f5f2;--panel:#fff;--ink:#171717;--muted:#777770;--soft:#f8f8f6;--line:#e5e5df;--line-strong:#d3d3cb;--accent:#111;--warn:#9a5a08;--bad:#a12424;--good:#26734d;--blue:#165dff;--radius:18px;--shadow:0 10px 30px rgba(24,24,20,.055)}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;font:14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;background:var(--bg);color:var(--ink);letter-spacing:-.005em}button,input,select,textarea{font:inherit;color:inherit}button{border:1px solid var(--line);background:#fff;border-radius:11px;padding:10px 12px;cursor:pointer;transition:border-color .18s,background .18s,transform .18s,box-shadow .18s}button:hover{border-color:#bdbdb4;background:#fafaf8}button:active{transform:translateY(1px)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(22,93,255,.16);outline-offset:1px;border-color:var(--blue)}button.primary{background:#111;color:#fff;border-color:#111;box-shadow:0 8px 20px rgba(0,0,0,.12)}button.primary:hover{background:#292929;border-color:#292929}.big{width:100%;padding:15px 17px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px}.ghost{background:transparent}.ts-app{min-height:100vh}.ts-header{height:68px;background:#121212;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:relative;z-index:5}.brand-lockup{display:flex;align-items:center;gap:12px}.brand-mark{width:34px;height:34px;border-radius:8px;background:#fff;color:#111;display:grid;place-items:center;font-size:12px;font-weight:900;letter-spacing:-.06em}.ts-header strong{display:block;font-size:15px;letter-spacing:.01em}.ts-header span{display:block;color:#aaa;font-size:12px;margin-top:1px}.ts-header-actions{display:flex;gap:7px}.ts-header .ghost{color:#ddd;border-color:#343434;padding:8px 11px}.workflow-bar{height:52px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:0 20px}.workflow-step{display:flex;align-items:center;gap:7px;color:#8b8b84;font-size:12px;font-weight:600;white-space:nowrap}.workflow-step b{width:23px;height:23px;border-radius:50%;border:1px solid var(--line-strong);display:grid;place-items:center;font-size:11px}.workflow-step.active{color:#111}.workflow-step.active b{background:#111;color:#fff;border-color:#111}.workflow-line{width:58px;height:1px;background:var(--line);margin:0 11px}.message{margin:12px 20px;padding:12px;border-radius:10px}.message.error{background:#fff0f0;color:#811}.ts-grid{display:grid;grid-template-columns:292px minmax(540px,1fr) 350px;gap:15px;padding:15px;min-height:calc(100vh - 120px)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.tools-panel,.config-panel{padding:19px;overflow:auto;max-height:calc(100vh - 150px);position:sticky;top:15px}.panel-heading{margin-bottom:18px}.panel-heading h2{font-size:21px;line-height:1.15;margin:4px 0 7px;letter-spacing:-.03em}.panel-heading p{margin:0;color:var(--muted);font-size:12.5px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:9.5px;font-weight:800;color:#8a8a82}.section-title{display:flex;align-items:center;gap:8px;margin-bottom:9px}.section-title>span{font-size:9px;font-weight:800;color:#9b9b93;letter-spacing:.08em;text-transform:uppercase}.section-title h3{font-size:13px;margin:0;letter-spacing:-.01em}.tools-panel section,.inspector{border-top:1px solid var(--line);padding-top:15px;margin-top:15px}.tool-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tool-buttons button{min-height:72px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:11px;text-align:left;font-weight:650}.tool-buttons button:hover{background:#f6f6f3;border-color:#c9c9c1;transform:translateY(-1px);box-shadow:0 5px 14px rgba(0,0,0,.05)}.tool-icon{width:28px;height:28px;border-radius:8px;background:#f1f1ed;display:grid;place-items:center;font-weight:800;font-size:15px}.tools-panel label,.config-panel label{display:block;margin:8px 0;color:#4f4f4a;font-size:12px}.tools-panel textarea,.tools-panel input[type=number],.tools-panel select,.config-panel select,.config-panel textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px;background:#fff}.tools-panel input[type=color]{width:100%;height:39px;border:1px solid var(--line);background:#fff;border-radius:9px;padding:4px}.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.inline-checks{display:flex;gap:16px}.inline-checks label{display:flex;align-items:center;gap:6px}.element-actions{display:flex;gap:8px;margin-top:10px}.measure,.status,.small{font-size:11.5px;color:var(--muted);margin-top:8px}.layers-list{display:flex;flex-direction:column;gap:5px;max-height:170px;overflow:auto}.layer-item{display:flex;align-items:center;justify-content:space-between;border:1px solid transparent;background:#f8f8f5;border-radius:8px;padding:8px}.layer-item.active{border-color:#111;background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.06)}.stage-panel{padding:16px;display:flex;flex-direction:column;min-width:0;overflow:hidden}.stage-kicker{display:flex;align-items:flex-end;justify-content:space-between;padding:2px 4px 14px}.stage-kicker strong{display:block;margin-top:4px;font-size:15px}.stage-trust{font-size:11px;color:var(--muted);background:#f5f5f1;border-radius:99px;padding:6px 9px}.stage-toolbar{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;background:#f7f7f4;padding:5px;border-radius:12px}.side-tabs,.zoom{display:flex;gap:4px}.stage-toolbar button{border:0;background:transparent;padding:8px 11px;font-size:12px}.side-tabs button.active{background:#111;color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.12)}.subtle-action{color:#6d6d66}.stage-wrap{flex:1;min-height:640px;display:grid;place-items:center;overflow:auto;padding:20px;position:relative;background:radial-gradient(circle at 50% 48%,#fff 0,#fbfbf8 42%,#f4f4f0 100%);border-radius:15px;margin-top:11px;border:1px solid #ecece6}.stage-wrap:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,0,0,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.018) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to bottom,transparent,black 20%,black 80%,transparent);pointer-events:none}.tshirt-stage{width:700px;height:700px;position:relative;transform-origin:center center}.shirt-realistic{position:absolute;inset:0;filter:drop-shadow(0 24px 26px rgba(0,0,0,.12));pointer-events:none}.shirt-tint,.shirt-texture{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.shirt-tint{background:var(--shirt-color,#6d7048);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;opacity:.96}.shirt-texture{mix-blend-mode:multiply;opacity:.8;image-rendering:auto}.shirt-realistic.is-white .shirt-texture{mix-blend-mode:normal;opacity:.0;filter:none}.shirt-realistic.is-white .shirt-tint{opacity:1;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.print-area{position:absolute;border:1.5px dashed rgba(70,70,64,.44);overflow:visible;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);z-index:3}.design-surface{position:absolute;inset:0;overflow:visible}.guide{position:absolute;background:#4d7cff;opacity:0;pointer-events:none;z-index:99}.guide-v{width:1px;height:100%;left:50%}.guide-h{height:1px;width:100%;top:50%}.print-area.guides .guide{opacity:.4}.design-element{position:absolute;touch-action:none;user-select:none;transform-origin:center center}.design-element.selected{outline:1.5px solid var(--blue);box-shadow:0 0 0 3px rgba(22,93,255,.08)}.design-element.text{min-width:50px;min-height:26px;padding:2px;white-space:pre-wrap;overflow:visible}.design-element.image img{width:100%;height:100%;display:block;object-fit:fill;pointer-events:none}.design-element.shape{background:#111}.handle{position:absolute;width:13px;height:13px;border-radius:50%;background:#fff;border:2px solid var(--blue);z-index:10;box-shadow:0 1px 4px #0002}.handle.resize{right:-7px;bottom:-7px;cursor:nwse-resize}.handle.rotate{left:50%;top:-27px;transform:translateX(-50%);cursor:grab}.handle.rotate:after{content:"";position:absolute;width:1px;height:13px;background:var(--blue);left:4px;top:10px}.quality-bar{display:flex;justify-content:space-between;align-items:center;padding:11px 6px 1px;color:var(--good);font-size:11.5px}.quality-bar.warn{color:var(--warn)}.quality-bar.bad{color:var(--bad)}.stage-note{text-align:center;color:var(--muted);font-size:11px;padding:9px 0 2px}.stage-note span{display:inline-grid;place-items:center;width:16px;height:16px;border:1px solid var(--line-strong);border-radius:50%;font-size:10px;margin-right:3px}.config-heading{margin-bottom:12px}.config-card{border:1px solid var(--line);border-radius:13px;padding:13px;margin-top:10px;background:#fff}.config-card.first{margin-top:0}.config-panel section.config-card{padding-top:13px}.clean-label{margin:0!important}.swatches{display:flex;gap:9px;flex-wrap:wrap;margin:9px 0}.swatch{width:31px;height:31px;border-radius:50%;padding:0;border:2px solid #ddd;box-shadow:inset 0 0 0 1px #0001}.swatch:hover{transform:scale(1.07)}.swatch.active{outline:2px solid #111;outline-offset:2px}.label{display:block;color:#55554f;margin-top:12px;font-size:12px}.print-sides{display:flex;gap:16px;margin:13px 0 0}.print-sides label{display:flex;align-items:center;gap:6px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.section-head .section-title{margin-bottom:0}.link-btn{padding:0;border:0;text-decoration:underline;background:none;font-size:11px}.size-rows{display:flex;flex-direction:column;gap:6px;margin-top:9px}.size-row{display:grid;grid-template-columns:46px 34px 58px 34px;align-items:center;gap:5px}.size-row input{width:58px;text-align:center;border:1px solid var(--line);border-radius:7px;padding:7px}.size-row button{padding:6px;background:#f7f7f4}.total-row{display:flex;justify-content:space-between;margin-top:11px;padding-top:10px;border-top:1px solid var(--line)}.price-box{background:#111!important;color:#fff;border-color:#111!important;padding:15px!important}.price-box .section-title h3,.price-box .section-title span{color:#fff}.price-title{opacity:.95}.price-box>div:not(.section-title){display:flex;justify-content:space-between;margin:8px 0}.price-box .grand{font-size:20px;margin-top:10px!important}.price-box hr{border:0;border-top:1px solid #3b3b3b}.price-box small{display:block;color:#aaa;margin-top:9px;font-size:10.5px}.note-card textarea{resize:vertical;min-height:72px}.checkout-cta{margin-top:12px}.checkout-hint{margin:0 2px 10px}.checkout-hint strong{display:block;font-size:12px}.checkout-hint span{display:block;color:var(--muted);font-size:11px;margin-top:2px}dialog{border:0;border-radius:18px;box-shadow:0 24px 80px #0004;max-width:min(900px,94vw);padding:26px}dialog::backdrop{background:rgba(10,10,10,.64);backdrop-filter:blur(2px)}.dialog-close{float:right;border:0;font-size:24px;padding:0 6px}dialog table{border-collapse:collapse;width:100%}dialog th,dialog td{padding:10px;border-bottom:1px solid var(--line);text-align:left}.review-preview{display:grid;grid-template-columns:1fr 1fr;gap:12px}.review-preview>div{min-height:280px;background:#f5f5f1;border-radius:13px;display:grid;place-items:center;border:1px solid var(--line)}.review-preview svg{max-width:100%;max-height:320px}.review-summary{margin:16px 0;padding:14px;background:#f7f7f4;border-radius:10px}.warnings{color:var(--bad);margin:10px 0}.review-actions{display:flex;gap:10px;margin-top:18px}.review-actions button{flex:1}.approval{display:flex!important;align-items:flex-start;gap:8px;margin:9px 0!important}
@media(max-width:1220px){.ts-grid{grid-template-columns:250px minmax(470px,1fr) 310px}.tshirt-stage{width:620px;height:620px}.stage-wrap{min-height:580px}.workflow-line{width:36px}}
@media(max-width:940px){.workflow-bar{overflow:auto;justify-content:flex-start}.ts-grid{grid-template-columns:1fr}.tools-panel,.config-panel{position:static;max-height:none}.stage-panel{grid-row:1}.tools-panel{grid-row:2}.config-panel{grid-row:3}.stage-wrap{min-height:540px}.tshirt-stage{width:min(680px,88vw);height:min(680px,88vw)}}
@media(max-width:560px){.ts-header{padding:0 12px}.brand-mark{display:none}.ts-header .brand-lockup span{display:none}.workflow-bar{height:46px;padding:0 10px}.workflow-line{width:20px;margin:0 6px}.workflow-step span{display:none}.workflow-step b{width:26px;height:26px}.ts-grid{padding:7px;gap:7px}.panel{border-radius:13px}.stage-panel{padding:8px}.stage-kicker{padding:4px 4px 10px}.stage-trust{display:none}.stage-wrap{padding:4px;min-height:430px}.stage-toolbar{display:block}.side-tabs,.zoom{overflow:auto;margin-bottom:5px}.tshirt-stage{width:94vw;height:94vw}.tool-buttons{grid-template-columns:1fr 1fr}.review-preview{grid-template-columns:1fr}.review-actions{flex-direction:column}.config-panel,.tools-panel{padding:16px}}

/* Editor interaction stability */
.design-element{cursor:move;-webkit-user-drag:none}
.design-element:active{cursor:grabbing}
.handle{touch-action:none;user-select:none}
.handle.resize{cursor:nwse-resize}
.handle.rotate{cursor:grab}
body.is-dragging,body.is-dragging *{cursor:grabbing!important}
body.is-resizing,body.is-resizing *{cursor:nwse-resize!important}
body.is-rotating,body.is-rotating *{cursor:grabbing!important}
body.is-dragging,body.is-resizing,body.is-rotating{user-select:none}
.ts-header-actions button:disabled{opacity:.34;cursor:not-allowed;transform:none}

/* Review preview must never escape into the approval content. */
.review-preview>div{overflow:hidden;isolation:isolate;position:relative}
.review-preview svg{display:block;width:100%;height:auto;overflow:hidden}.review-mockup{width:100%;height:100%;display:grid;place-items:center;padding:10px;overflow:hidden}.review-shirt{position:relative;width:min(100%,320px);aspect-ratio:1/1}.review-shirt-tint,.review-shirt-texture{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.review-shirt-tint{-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;opacity:.96}.review-shirt-texture{mix-blend-mode:multiply;opacity:.8;image-rendering:auto}.review-shirt.is-white .review-shirt-texture{mix-blend-mode:normal;opacity:.0;filter:none}.review-shirt.is-white .review-shirt-tint{opacity:1;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.review-print-area{position:absolute;overflow:hidden}.review-el{position:absolute;transform-origin:center center}.review-image img{width:100%;height:100%;display:block;object-fit:fill}.review-shape{display:block}.review-text{display:flex;align-items:flex-start;justify-content:center;line-height:1.12;padding:1px;overflow:hidden}
#reviewDialog{overflow-x:hidden}
#addImageBtn[aria-busy="true"]{opacity:.6;cursor:wait;pointer-events:none}


/* Super Premium T product presentation */
.product-select-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
.product-choice{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0 12px;border-bottom:1px solid var(--line)}
.product-choice strong{display:block;font-size:15px;letter-spacing:-.02em}.product-choice span{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}
.product-info-btn{padding:8px 10px;font-size:11px;white-space:nowrap;background:#f7f7f4}
.swatches{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;margin:9px 0!important}
.swatch-tile{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:8px;text-align:left;padding:6px!important;border-radius:9px!important;min-width:0;background:#fff}
.swatch-tile:hover{transform:none!important;background:#f8f8f5}.swatch-tile.active{border-color:#111!important;box-shadow:0 0 0 2px #111 inset}
.swatch-color{display:block;width:34px;height:25px;border-radius:5px;border:1px solid rgba(0,0,0,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.swatch-label{font-size:10.5px;line-height:1.15;color:#4c4c47;overflow:hidden;text-overflow:ellipsis}.swatch-tile.active .swatch-label{font-weight:700;color:#111}
.color-name{margin-top:4px!important}.product-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:26px;padding-right:34px;margin-bottom:18px}.product-dialog-head h2{margin:3px 0 5px}.product-dialog-head p{margin:0;color:var(--muted)}
.fotl-mark{font-size:11px;font-weight:900;letter-spacing:.03em;border:1px solid var(--line);border-radius:10px;padding:10px 12px;white-space:nowrap;background:#fafaf7}
.product-info-table{border:1px solid var(--line);border-radius:12px;overflow:hidden}.product-info-table>div{display:grid;grid-template-columns:minmax(170px,34%) 1fr;gap:16px;padding:10px 12px;border-bottom:1px solid var(--line)}.product-info-table>div:nth-child(odd){background:#f7f7f4}.product-info-table>div:last-child{border-bottom:0}.product-info-table strong{font-size:12px}.product-info-table span{font-size:12px;color:#484843}
.dialog-intro,.dialog-note{color:var(--muted)}.size-chip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0}.size-chip-grid span{display:grid;place-items:center;padding:12px;border:1px solid var(--line);border-radius:9px;font-weight:750;background:#fafaf7}
#productInfoDialog{width:min(780px,94vw)}
@media(max-width:560px){.swatches{grid-template-columns:1fr!important}.product-choice{align-items:flex-start;flex-direction:column}.product-info-table>div{grid-template-columns:1fr;gap:3px}.product-dialog-head{display:block}.fotl-mark{display:inline-block;margin-top:12px}.size-chip-grid{grid-template-columns:repeat(2,1fr)}}

.product-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 12px}.product-card{padding:12px 11px;text-align:left;border:1px solid var(--line);background:#fafaf8;border-radius:12px;display:flex;flex-direction:column;gap:2px;min-width:0}.product-card:hover{background:#fff;border-color:#b7b7af}.product-card.active{border-color:#111;background:#fff;box-shadow:0 0 0 1px #111}.product-card-gender{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:700}.product-card strong{font-size:12.5px;line-height:1.2}.product-card small{font-size:10.5px;color:var(--muted)}

.gender-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:#f0f0ec;border:1px solid var(--line);border-radius:13px;margin:3px 0 12px}.gender-tab{border:0;background:transparent;border-radius:9px;padding:11px 12px;font-weight:750;color:#686862;box-shadow:none}.gender-tab:hover{background:#fff8}.gender-tab.active{background:#111;color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.13)}.gender-tab.active:hover{background:#111}.product-cards:has(.product-card:only-child){grid-template-columns:1fr}.product-card{min-height:92px}.product-card-gender{display:none}
@media(max-width:560px){.product-cards{grid-template-columns:1fr}}
