@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#292e28;--muted:#73766c;--line:#e3e4da;--paper:#fafbf6;--green:#455b42}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px 'DM Sans',sans-serif}button,input,select,textarea{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a67243;outline-offset:3px}header{max-width:1280px;margin:auto;padding:28px 46px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-size:11px;letter-spacing:1.8px;font-weight:700}.tag{font:italic 15px Georgia;color:var(--muted)}main{max-width:1160px;margin:auto;padding:0 28px}.intro{padding:55px 0 42px;text-align:center}.eyebrow{font-size:10px;letter-spacing:2.4px;color:var(--green);font-weight:700}h1{font:64px/1.1 'Libre Caslon Display',Georgia,serif;margin:17px 0}h1 em{font-weight:400;color:#788767}.intro p{line-height:1.8;color:var(--muted);margin:0}.workspace{display:grid;grid-template-columns:1.08fr 1fr;gap:56px;align-items:start}.preview-column{position:sticky;top:25px}.preview-top,.preview-bottom,.label-row{display:flex;justify-content:space-between;align-items:center}.preview-top{margin-bottom:14px;font-size:10px;letter-spacing:1.4px}.preview-top i{display:inline-block;width:6px;height:6px;background:#7c9670;border-radius:50%;margin-right:7px}.text-button{border:0;background:none;color:var(--muted);padding:8px;font-size:12px;letter-spacing:0}.canvas{height:350px;background:#eee4d6;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:5px;transition:background .2s}.stitch{position:absolute;inset:18px;border:1px dashed #0002;border-radius:3px;pointer-events:none}#preview{position:relative;max-width:88%;overflow-wrap:anywhere;text-align:center;line-height:1.35;padding:12px;z-index:1}.preview-bottom{padding:18px 0;border-bottom:1px solid var(--line);font-size:12px}.size-label{display:flex;align-items:center;gap:8px;font-size:11px}.size-label input{width:100px;accent-color:var(--green)}.fineprint{font-size:11px;line-height:1.7;color:var(--muted)}.order{background:#f0f2e9;padding:26px;border-radius:5px;margin-top:25px}.order>div,.section-title{display:flex;align-items:center;gap:12px}.step{font-size:10px;border:1px solid #cbd1c0;border-radius:50%;width:26px;height:26px;display:inline-grid;place-items:center;color:var(--green);flex-shrink:0}h2{font:24px 'Libre Caslon Display',Georgia;margin:0}.order p{font-size:12px;line-height:1.7;color:var(--muted)}textarea{width:100%;min-height:110px;resize:vertical;background:#ffffff80;border:1px solid #dce1d3;border-radius:4px;padding:12px;font-size:12px;line-height:1.6;color:var(--ink)}.primary{display:flex;justify-content:space-between;width:100%;padding:16px;background:var(--green);color:white;border:0;border-radius:3px;margin-top:12px}.primary:hover{background:#30462e}#status:empty{display:none}.section-title{margin-bottom:22px}label{display:block;font-size:12px;font-weight:600}label #count{float:right;color:var(--muted);font-weight:400}#name{width:100%;padding:15px;margin:10px 0 25px;border:1px solid #d8ddcf;background:#fff;border-radius:4px;color:var(--ink);font-size:17px}.label-row{margin-bottom:12px}.label-row span{font-size:11px;color:var(--muted)}select{width:100%;padding:10px 12px;border:1px solid var(--line);background:transparent;border-radius:4px;margin-bottom:12px;color:var(--ink)}.font-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:320px;overflow:auto;padding:3px 5px 3px 3px;scrollbar-color:#c9cfbf transparent;scrollbar-width:thin}.font-option{background:white;border:1px solid var(--line);border-radius:4px;padding:12px;text-align:left;min-height:74px;position:relative;color:var(--ink)}.font-option[aria-pressed=true]{border-color:var(--green);background:#edf1e6;box-shadow:0 0 0 1px var(--green)}.font-option small{font:9px 'DM Sans',sans-serif;display:block;color:var(--muted);margin-bottom:7px}.font-option .sample{font-size:25px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.font-option .check{position:absolute;right:9px;top:8px;color:var(--green);font-size:12px}.color-title{border-top:1px solid var(--line);padding-top:25px;margin-top:22px}.swatches{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}.swatch{width:31px;height:31px;border:1px solid #0002;border-radius:50%;position:relative}.swatch[aria-pressed=true]{outline:2px solid var(--green);outline-offset:3px}.swatch[aria-pressed=true]:after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:var(--tick);font-size:14px}footer{max-width:1160px;margin:55px auto 0;padding:25px 28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;font-size:10px;color:var(--muted)}@media(max-width:760px){header{padding:18px 20px}.tag{display:none}.brand{font-size:9px}.intro{padding:35px 0 28px}h1{font-size:46px}main{padding:0 20px}.workspace{display:flex;flex-direction:column;gap:30px}.preview-column{position:static;width:100%;display:contents}.preview-top,.canvas,.preview-bottom{width:100%}.preview-top{order:0;margin:0}.canvas{order:1;height:270px;margin-top:-20px}.preview-bottom{order:2;margin-top:-25px}.preview-column>.fineprint{order:3;margin-top:-20px}.controls{order:4;width:100%}.order{order:5;width:100%;margin-top:0}.font-grid{max-height:300px}footer{flex-direction:column;margin-top:25px}.intro p{font-size:12px}}

/* Named, numbered reference palette */
.palette-note{font-size:11px;color:var(--muted);margin:-10px 0 20px}.swatches{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;max-height:268px;overflow-y:auto;padding:5px 6px 7px 4px;scrollbar-width:thin;scrollbar-color:#c9cfbf transparent}.swatch{width:100%;height:auto;min-height:67px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px 2px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--ink)}.swatch:hover{background:#edf1e6}.swatch[aria-pressed=true]{outline:1px solid var(--green);outline-offset:0;background:#edf1e6}.swatch[aria-pressed=true]:after{content:none}.color-dot{width:30px;height:30px;border-radius:50%;border:1px solid #0002;display:grid;place-items:center;font-size:10px;flex-shrink:0}.color-name{font-size:9px;line-height:1.2;text-align:center}.label-row span{text-align:right}.color-title{margin-bottom:22px}@media(max-width:400px){.swatches{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* TISSAMSTD branding, preserving the existing studio layout */
.brand{min-width:0;letter-spacing:1.3px;gap:16px}.brand-logo{display:block;width:96px;height:96px;object-fit:contain;flex-shrink:0}.brand-wordmark{display:flex;flex-direction:column;gap:7px;min-width:0}.brand-wordmark strong{font-size:20px;letter-spacing:2.3px;line-height:1.2}.brand-wordmark>span{font-size:10px;line-height:1.4;letter-spacing:1.5px}.intro p{max-width:730px;margin:0 auto;line-height:1.8}.workspace{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr)}.controls,.preview-column{min-width:0}.section-title h2{line-height:1.25}.color-dot{border:1px solid #0003}.primary{min-height:48px;font-weight:600}.primary:disabled{opacity:.55;cursor:not-allowed}.text-button{min-height:44px}.font-option,.swatch{touch-action:manipulation}.label-row{gap:10px;align-items:flex-start}.label-row span{overflow-wrap:anywhere}.size-label{white-space:nowrap}#preview{white-space:pre-wrap;max-height:calc(100% - 40px)}.swatch{min-height:67px}.brand-wordmark>span{white-space:nowrap}
@media(max-width:760px){header{padding:15px 20px}.brand-logo{width:76px;height:76px}.brand{gap:10px}.brand-wordmark strong{font-size:17px;letter-spacing:1.7px}.brand-wordmark>span{font-size:8px;letter-spacing:1px}.intro p{font-size:13px}.controls .section-title h2{font-size:25px}.label-row{flex-wrap:wrap;gap:6px}.label-row span{font-size:10px}.font-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.primary{font-size:13px}.preview-bottom{gap:10px}.fineprint{overflow-wrap:anywhere}}
@media(max-width:350px){.brand-logo{width:64px;height:64px}.brand-wordmark strong{font-size:15px}.brand-wordmark>span{font-size:7px}.size-label input{width:75px}}
