: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}.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;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 16px;background:#e9eddf;font-size:12px}.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}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
