:root{--ink:#181719;--red:#c92238;--paper:#f8f7f5;--admin-fabric:none;--tg-fabric-size:100vw}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}.bar{display:flex;align-items:center;justify-content:space-between;padding:19px max(24px,calc((100vw - 1220px)/2));border-bottom:1px solid #dedad7;background:#fff}.brand{font:800 24px Manrope,sans-serif;letter-spacing:-1.5px;display:flex;align-items:center;gap:8px;color:inherit;text-decoration:none}.brand span,.preview-nav span{color:var(--red)}.back{color:var(--ink);font-size:14px;text-decoration:none;border-bottom:1px solid}.layout{max-width:1220px;margin:auto;padding:64px 24px 100px}.intro{max-width:780px;margin-bottom:44px}.kicker{font-size:11px;font-weight:800;letter-spacing:2.3px;color:#a32032}.intro h1{font:800 clamp(44px,7vw,90px)/1.08 Manrope,sans-serif;letter-spacing:-5px;margin:14px 0}.intro h1 em{font-style:normal;color:var(--red);background-image:var(--admin-fabric);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:0}.intro>p:last-child{font-size:17px;line-height:1.7;color:#575254}.columns{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.panel{background:white;border:1px solid #dedad7;border-radius:10px;padding:30px;box-shadow:0 10px 40px #20101008}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.panel h2{font:800 27px Manrope,sans-serif;margin:6px 0 12px}.mode{background:#f3eeee;border:1px solid #ded1d1;border-radius:40px;padding:8px 12px;font-size:11px;white-space:nowrap}.hint{font-size:13px;color:#777;line-height:1.7}label{display:block;font-weight:700;font-size:13px;margin:23px 0 0}textarea,input:not([type=file]){display:block;width:100%;padding:13px 14px;border:1px solid #ccc5c5;border-radius:5px;font:inherit;font-size:14px;margin-top:9px;resize:vertical;background:#fdfcfb}input[type=file]{display:block;margin:13px 0 8px;width:100%;font-size:13px}small{display:block;font-weight:400;color:#777}.actions{display:flex;gap:9px;flex-wrap:wrap;margin:28px 0 0}button{font:700 13px 'DM Sans',sans-serif;padding:13px 18px;border:1px solid #222;border-radius:5px;background:white;cursor:pointer}button.primary,#publish{background-image:var(--admin-fabric);background-color:var(--red);background-size:var(--tg-fabric-size) auto;color:white;border-color:transparent}button:disabled{opacity:.4;cursor:not-allowed}.admin-actions{border-top:1px solid #e8e2e0;margin-top:30px;padding-top:20px}.admin-actions h3{font:800 18px Manrope,sans-serif}.admin-actions p{font-size:13px;color:#666;line-height:1.6}.admin-actions button{margin:4px 8px 4px 0}.preview-panel{position:sticky;top:20px}.preview{border:1px solid #d3cbcb;min-height:460px;background:#faf9f7;overflow:hidden;border-radius:5px}.preview-nav{display:flex;justify-content:space-between;padding:21px;font:800 15px Manrope,sans-serif;border-bottom:1px solid #e7dfdf}.preview-content{padding:42px 28px}.preview-label{font-size:10px;letter-spacing:2px;font-weight:800}.preview-content h2{font:800 clamp(25px,3vw,40px)/1.13 Manrope,sans-serif;letter-spacing:-1.5px;overflow-wrap:anywhere}.preview-content>p:not(.preview-label){font-size:14px;color:#555;line-height:1.7}.preview-cta{display:inline-block;background-image:var(--admin-fabric);background-size:var(--tg-fabric-size) auto;color:white;border:0;padding:13px 17px;font-size:13px;font-weight:700;margin-top:12px}#status{font-size:13px;line-height:1.6}@media(max-width:800px){.columns{grid-template-columns:1fr}.preview-panel{position:static}.intro h1{letter-spacing:-2px}.layout{padding-top:35px}.panel{padding:21px}}
.paste-zone{margin-top:12px;padding:22px 14px;border:2px dashed #cbb8bc;border-radius:8px;background:#fcf8f8;text-align:center;font-weight:700;font-size:14px;cursor:text;outline-offset:3px}.paste-zone span{display:block;margin-top:6px;font-size:12px;font-weight:400;color:#746a6e}.paste-zone:focus{border-color:#b9273c;outline:2px solid #b9273c}

.paste-field-wrap{margin-top:14px}.paste-field-wrap .paste-zone{min-height:74px;display:flex;align-items:center;justify-content:center;cursor:text;user-select:text;-webkit-user-select:text;-webkit-touch-callout:default;white-space:pre-wrap;overflow-wrap:anywhere}.paste-field-wrap .paste-zone:empty:before{content:attr(data-placeholder);color:#665b60;font-weight:600}.paste-field-wrap small{display:block;margin-top:8px;color:#75696e;font-size:12px;line-height:1.5}

.image-selection{display:flex;align-items:center;gap:12px;margin-top:12px;padding:10px;border:1px solid #e3d9da;border-radius:7px;background:#faf7f7;font-size:12px;font-weight:600;min-height:58px}.image-selection img{display:block;width:64px;height:48px;object-fit:cover;border-radius:4px;flex-shrink:0}.image-selection img[hidden]{display:none}.image-selection span{flex:1}.image-selection button{padding:7px 10px;font-size:11px}.paste-zone img{max-width:100%;max-height:72px;object-fit:contain}.paste-zone{max-height:90px;overflow:hidden}

/* Use the same source-resolution-aware scale as the homepage. */
.intro h1 em,button.primary,#publish,.preview-cta{background-repeat:repeat;background-size:var(--tg-fabric-size) auto;background-position:center top}
.image-selection img{object-fit:contain}

/* Show the actual automatically selected square crop at mobile width. */
.image-selection{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}
.image-selection img:not([hidden]){grid-column:1/-1;width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:6px}
.image-selection span{min-width:0}
/* Preserve the source photo's scale rather than upscaling small previews. */
.intro h1 em,button.primary,#publish,.preview-cta{background-repeat:repeat!important;background-size:var(--tg-fabric-size) auto!important;background-position:center top!important}

/* All branded red, including text, comes from the published Admin Studio fabric. */
.brand span,.preview-nav span,.kicker,.intro h1 em{
  background-image:var(--admin-fabric);background-repeat:repeat;
  background-position:center top;background-size:var(--tg-fabric-size) auto;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  -webkit-text-stroke:0;
}
button.primary,#publish,.preview-cta{background-image:var(--admin-fabric)!important;background-size:var(--tg-fabric-size) auto!important;background-position:center top!important}

/* All branded fills share the same viewport/native-resolution photo scale. */
.brand span,.preview-nav span,.kicker,.intro h1 em,button.primary,#publish,.preview-cta{background-size:var(--tg-fabric-size) auto!important;background-position:center top!important;background-repeat:repeat!important;-webkit-text-stroke:0}

/* Match the homepage's italic glyph breathing room. */
.intro h1 em{padding-inline-end:.12em;margin-inline-end:-.12em}

/* Image-only studio preview: show the photo itself, plus small/large fill examples. */
.fabric-swatch{width:100%;aspect-ratio:1;border:1px solid #e4d2d5;border-radius:8px;background-color:#d21b30;background-image:var(--admin-fabric);background-size:var(--tg-fabric-size) auto;background-position:center top;background-repeat:repeat;margin:15px 0 28px}
.fabric-examples{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:16px}
.fabric-example-text{font:800 clamp(25px,4vw,42px)/1.1 Manrope,sans-serif;letter-spacing:-1.5px;background-image:var(--admin-fabric);background-size:var(--tg-fabric-size) auto;background-position:center top;background-repeat:repeat;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:var(--red)}
.preview .preview-content{padding-top:28px}
.preview-cta{margin-top:0;background-color:var(--red);border-radius:5px}
