:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#23352d;background:#f7f7f2;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select,input{min-height:44px}button{cursor:pointer;border:1px solid #c6cdc2;border-radius:8px;background:#fff;color:inherit;padding:10px 16px;font-weight:650}button:disabled{cursor:not-allowed;color:#687469;background:#f0f1eb}button:hover:not(:disabled){border-color:#264d36;background:#eff4e9}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #9c4b1c;outline-offset:3px}.development{padding:10px 12px;text-align:center;font-size:12px;background:#213d2d;color:#f4f7e7}.masthead{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d9ded1;padding:20px max(20px,calc((100vw - 1200px)/2));gap:16px}.brand{color:inherit;text-decoration:none;font-weight:850;letter-spacing:.06em;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.brand-mark{font-size:30px;line-height:1;color:#ad4b2b}.brand-sub{font-size:10px;letter-spacing:.17em}.local-badge{display:none;font-size:12px}main{max-width:1200px;margin:auto;padding:28px 16px}.intro{margin-bottom:26px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.16em;color:#536951}h1{font-size:clamp(30px,5vw,48px);line-height:1.12;letter-spacing:-.045em;max-width:700px;margin:12px 0}p{line-height:1.55}.intro>p:last-child{color:#637062;font-size:14px}.product-tabs{display:flex;gap:8px;margin-bottom:20px}.product-tabs button{flex:1;padding:10px 6px;font-size:13px}.product-tabs small{display:block;font-size:9px;font-weight:400;margin-top:4px}button[aria-pressed=true]{background:#254a32;color:#fff;border-color:#254a32}.workspace{display:grid;gap:16px;align-items:start}.preview-panel{background:#e9eddf;border:1px solid #d4ddc8;border-radius:16px;padding:18px;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between}.pill{padding:6px 12px;border:1px solid #bccab0;border-radius:20px;font-size:11px}.bag-stage{min-height:310px;display:grid;place-items:center;background-image:radial-gradient(#b5c1a755 1px,transparent 1px);background-size:18px 18px}.bag{width:min(100%,400px);aspect-ratio:1;border-radius:12px;padding:0;box-shadow:0 10px 24px #283d342b;overflow:hidden}.fabric-surface{width:100%;aspect-ratio:1;touch-action:none}.fabric-surface canvas{touch-action:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.object-panel{margin:24px 0;border-top:1px solid #dce0d5}.object-panel ol{list-style:none;padding:0}.object-panel li{display:flex;align-items:center;gap:0;min-height:44px;border-bottom:1px solid #eef0e9}.object-panel li.selected{background:#eff4e9;box-shadow:inset 3px 0 #254a32}.object-panel .icon-button{display:grid;place-items:center;flex:0 0 36px;width:36px;padding:0;border:0;border-radius:0;background:transparent;color:#768077}.object-panel .delete-object{color:#a75c68}.object-panel .object-name{display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:0 6px;border:0;background:transparent;color:inherit;font-weight:400;text-align:left}.object-name>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.object-type{display:grid;place-items:center;flex:0 0 20px;font-family:Georgia,serif;font-size:24px}.icon-placeholder{width:36px}.layer-actions{display:flex;justify-content:center;gap:4px;margin:8px 0 18px}.layer-actions button{width:48px;font-size:22px;padding:0}.object-inspector{border-top:1px solid #dce0d5;padding-top:8px}.object-inspector textarea,.object-inspector input[type=number]{font:inherit;width:100%;min-width:0;border:1px solid #cbd2c6;border-radius:7px;padding:10px 12px;color:inherit;background:#fff}.object-inspector textarea{resize:vertical;min-height:64px}.object-inspector textarea:focus-visible,summary:focus-visible{outline:3px solid #9c4b1c;outline-offset:3px}.text-format-grid{display:grid;grid-template-columns:minmax(0,1fr) 84px;gap:10px;margin-top:12px}.text-style-actions,.alignment-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.alignment-actions button{flex:1 1 140px;font-size:12px}.inspector-section{margin:12px 0;min-width:0}.inspector-section summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:650}.inspector-section input[type=range]{width:100%;min-width:0}.inspector-section output{font-weight:400;font-size:12px}@media(max-width:360px){.text-format-grid{grid-template-columns:minmax(0,1fr)}}.content-controls{border:0;padding:0;min-width:0}.content-controls legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.transform-controls{min-width:0;border:1px solid #dce0d5;border-radius:8px}.transform-controls label{display:grid;grid-template-columns:1fr 50px;align-items:center}.transform-controls input{grid-column:1;width:100%;min-width:0}.transform-controls output{text-align:right}.bag-stitch{height:100%;border:2px dashed #ffffff55;border-radius:15%;padding:10%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:10px;overflow:hidden}.bag-line{font-size:10px;font-weight:700;letter-spacing:.2em}.bag strong{font-size:clamp(16px,5vw,28px);text-align:center;line-height:1.12;overflow-wrap:anywhere;max-width:100%}.carpet-surface{height:100%;border-radius:inherit;overflow:hidden;display:grid;place-items:center;background:#eee}.bag .carpet-texture{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}.carpet-controls{margin:20px 0}.carpet-swatches{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:8px;margin-top:12px}.carpet-swatches button{padding:6px;min-width:0;border:2px solid transparent;border-radius:8px;background:#f3f3ed;color:#203e2e}.carpet-swatches button[aria-pressed=true]{border-color:#203e2e}.carpet-swatches img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:4px}.carpet-swatches span{display:block;font-size:12px;overflow-wrap:anywhere;margin-top:4px}.bag img{max-width:80%;max-height:45%;min-height:0;object-fit:contain}.bag-signature{font-size:7px;letter-spacing:.1em}.side-switch{display:flex;justify-content:center;gap:6px}.side-switch button{min-width:94px}.preview-note{font-size:11px;color:#5d6a55;text-align:center;max-width:400px;margin:18px auto 0}.editor{background:#fff;border:1px solid #dce0d5;border-radius:16px;padding:22px;min-width:0}h2{margin:8px 0 24px;font-size:24px;letter-spacing:-.025em}label{display:block;font-size:12px;font-weight:650;margin-bottom:8px}select,input[type=text],input:not([type]){width:100%;border:1px solid #cbd2c6;border-radius:7px;padding:10px 12px;color:inherit;background:#fff;min-width:0}.color-row{display:flex;gap:16px;margin:20px 0}.color-row label{flex:1}input[type=color]{display:block;width:100%;padding:4px;border:1px solid #cbd2c6;background:#fff;border-radius:7px;margin-top:8px}.clear-field{display:flex;gap:5px}.clear-field button{font-size:22px;width:44px;padding:0;flex-shrink:0}.field-note{font-size:11px;color:#657160;margin:8px 0 18px}.upload-zone{position:relative;border:1px dashed #9aaa8e;border-radius:8px;text-align:center;padding:18px 10px;background:#fafbf7;cursor:pointer}.upload-zone input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-zone:focus-within{outline:3px solid #9c4b1c;outline-offset:3px}.upload-zone small{display:block;font-size:10px;margin-top:6px;color:#657160}.draft-actions{border-top:1px solid #e3e7dc;padding-top:20px;display:grid;gap:6px}.primary{background:#254a32;color:#fff;display:flex;justify-content:space-between}button.primary:hover{background:#183823;color:#fff}.text-button{border-color:transparent;background:transparent;font-size:12px}.save-status{color:#45623f;font-size:11px}.warning{background:#fff2d7;color:#783b17;padding:12px;border-radius:6px;font-size:12px}.store-context{margin-top:24px;padding:20px;border:1px solid #dce0d5;font-size:12px;overflow-wrap:anywhere}.store-context dl>div{display:flex;gap:12px}.store-context dt{font-weight:700}.store-context dd{margin:0}footer{margin-top:28px;padding-top:20px;border-top:1px solid #d9ded1;font-size:12px;color:#637062}footer p{font-size:11px}@media(min-width:760px){main{padding:40px 28px}.workspace{grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr);gap:24px}.preview-panel{position:sticky;top:20px;padding:28px}.bag-stage{min-height:470px}.local-badge{display:block}.product-tabs{max-width:420px}.product-tabs small{display:inline;margin-left:4px}.bag strong{font-size:28px}}.login-gate{max-width:680px;padding-top:12vh}.login-gate .primary{display:inline-flex;padding:14px 20px;border-radius:8px;text-decoration:none}.account-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;background:#e9eddf;font-size:12px}.account-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0;margin-left:auto}.account-profile{min-width:0;max-width:320px;text-align:right}.account-name,.account-email{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-email{color:#536951;margin-top:3px}.account-actions button{flex-shrink:0}@media(max-width:480px){.account-bar>span{display:none}.account-actions{width:100%}}.artwork-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px;margin-bottom:16px;max-height:340px;overflow:auto}.artwork-grid button{padding:8px;min-width:0}.artwork-grid img{display:block;width:100%;height:72px;object-fit:contain}.artwork-grid span{display:block;overflow-wrap:anywhere;font-size:11px;margin-top:5px}.add-actions{display:flex;gap:10px}.add-actions button{flex:1}.image-dialog{width:min(740px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:24px;border:1px solid #cbd2c6;border-radius:12px;color:#23352d;overflow:auto}.image-dialog::backdrop{background:#0007}.image-tabs{display:flex;margin-bottom:24px;gap:8px}.image-tabs button{flex:1;border:0;border-radius:0;border-bottom:2px solid transparent;padding:14px 8px}.image-tabs button[aria-selected=true]{border-bottom-color:#254a32}.image-filter{display:flex;gap:12px}.image-filter .clear-field{flex:1;min-width:0}.image-filter>button{width:48px;padding:0;font-size:26px}.private-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));align-content:start;gap:10px;max-height:45dvh;overflow:auto;padding:4px}.private-image-grid button{min-width:0;padding:8px;border:2px solid transparent;background:#f7f8f5;color:#23352d}.private-image-grid button.selected{border-color:#254a32;background:#e9f0e4;box-shadow:inset 0 0 0 1px #254a32}.private-image-grid img{display:block;width:100%;height:96px;object-fit:contain}.private-image-grid span{display:block;overflow-wrap:anywhere;font-size:12px;font-weight:400;margin-top:8px}.device-picker input{display:block;max-width:100%;margin-top:12px}.image-preview img{display:block;max-width:100%;width:240px;height:220px;object-fit:contain;object-position:left center}.image-preview p{margin:4px 0;overflow-wrap:anywhere}.image-dialog-actions{display:flex;flex-wrap:wrap;gap:12px;padding-top:20px}.image-dialog-actions button{justify-content:center}@media(max-width:480px){.image-dialog{padding:16px}.image-tabs{gap:0}.image-tabs button{font-size:13px}.image-dialog-actions button{flex:1 1 auto}}.rename-dialog{width:min(380px,calc(100vw - 32px));padding:24px;border:1px solid #cbd2c6;border-radius:12px;color:#254a32}.rename-dialog::backdrop{background:#0006}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
