.font-picker{position:relative;min-width:0;display:grid;gap:.35rem}.font-picker>button{width:100%;text-align:left;overflow-wrap:anywhere}.font-menu{position:absolute;top:100%;left:0;width:min(330px,calc(100vw - 64px));z-index:30;max-height:320px;overflow:auto;background:#fff;border:1px solid #c8ced1;border-radius:8px;box-shadow:0 8px 24px #0002;padding:4px}.font-menu>button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;border:0;border-radius:4px;background:transparent;text-align:left}.font-menu>button:hover,.font-menu>button:focus-visible{background:#eef2f3;outline:2px solid #426674;outline-offset:-2px}.font-menu>button[aria-checked=true]{background:#e3edef}.font-menu [role=separator]{border-top:1px solid #ccd4d8;margin:5px 0}.font-name{font-family:Arial,sans-serif;min-width:0;overflow-wrap:anywhere}.font-sample{font-size:20px;white-space:nowrap;font-weight:400;font-style:normal;flex-shrink:0}.asset-font-preview{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:100px;padding:12px;background:#f3f5f6}.asset-font-preview .font-name{overflow:hidden;text-overflow:ellipsis}.asset-font-preview .font-sample{font-size:26px}.image-dialog .side-switch button[aria-pressed=true]:hover:not(:disabled),.dashboard-tabs button[aria-selected=true]:hover:not(:disabled){background:#254a32;color:#fff}.dashboard-header,.dashboard-tabs{max-width:1240px;margin:auto;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.dashboard-header strong{letter-spacing:.08em}.dashboard-header strong span{font-weight:400;display:block;font-size:12px}.dashboard-tabs{justify-content:flex-start;border-bottom:1px solid #ddd}.dashboard-tabs button[aria-selected=true]{background:#253d4b;color:#fff}.library-filters{display:flex;gap:16px;flex-wrap:wrap;margin:24px 0}.library-filters label{flex:1;min-width:180px}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px;margin-top:24px}.library-card{border:1px solid #ddd;border-radius:16px;padding:16px;min-width:0;background:#fff}.library-card>img{width:100%;height:220px;object-fit:contain;background:#f3f2ee;border-radius:8px}.library-card h2,.library-card p{overflow-wrap:anywhere}.library-card h2{font-size:20px}.card-actions{display:flex;gap:8px;flex-wrap:wrap}.card-actions button{flex:1 1 40%;padding:10px 6px}.empty-library{text-align:center;padding:64px 16px;border:1px dashed #b8c1c1;border-radius:16px;margin:24px 0}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin:24px 0}.design-save{padding:16px;background:#f1f4f3;border-radius:12px;margin-bottom:24px}.design-save label{max-width:480px}.design-save button{margin-top:12px}.thumbnail-renderer{position:fixed;left:-1000px;top:0;width:256px;height:256px;pointer-events:none}.saved-mockup{width:min(100%,360px);margin:20px auto;overflow:hidden;border-radius:28px;box-shadow:12px 18px 30px #0003;transform:rotate(-4deg)}.saved-mockup img{display:block;width:100%}.dashboard input,.dashboard select,.image-dialog textarea{width:100%;box-sizing:border-box}.dashboard-header button{flex-shrink:0}@media(max-width:480px){.dashboard-header,.dashboard-tabs{padding:16px}.library-grid{grid-template-columns:1fr}.library-filters{display:block}.library-filters label{display:block;margin-bottom:12px}.dashboard-header strong{font-size:14px}.dashboard-tabs button{flex:1}}: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}.design-title{display:flex;align-items:center;gap:24px;margin-bottom:20px}.design-title h1{font-size:28px;margin:0}.design-title label{flex:1;max-width:480px;margin:0}.design-bottom-actions{margin-top:24px;border-top:1px solid #d9ded1;padding:16px 0 max(16px,env(safe-area-inset-bottom))}.design-action-buttons{display:flex;gap:12px}.design-action-buttons button{flex:1;min-width:0;justify-content:center}.design-bottom-actions p{margin:8px 0 0;font-size:12px}.design-page :is(input,textarea,select){scroll-margin-block:24px}@media(max-width:480px){.design-title{display:block}.design-title h1{margin-bottom:16px}.design-action-buttons{gap:8px}.design-action-buttons button{padding-inline:8px;font-size:14px}}.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}.history-actions{display:flex;justify-content:center;gap:8px;margin-top:12px}.history-actions button{flex:1;max-width:160px;min-height:44px}.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}}
