:root{--bg:#e9e6df;--panel:#fbfaf7;--ink:#2b2823;--ink-soft:#6f6a60;--line:#e4e0d6;--accent:#7c6f5a;--accent-ink:#fff;--radius:14px;--shadow-sm:0 1px 2px rgba(40,35,25,.06);--shadow-md:0 12px 40px rgba(40,35,25,.10);--font-ui:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}@font-face{font-family:Jameel Noori Nastaleeq;src:url(/fonts/jameel-noori-nastaleeq-regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Jameel Noori Nastaleeq Kasheeda;src:url(/fonts/jameel-noori-nastaleeq-kasheeda.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}*{box-sizing:border-box}body,html{height:100%}body{margin:0;background:radial-gradient(120% 80% at 15% 0,#f1eee7 0,var(--bg) 60%) fixed;color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;line-height:1.5}.app{max-width:1240px;margin:0 auto;padding:22px clamp(14px,3vw,32px) 48px}.navbar{padding:14px 0 26px}.navbar-inner{position:relative;gap:10px;padding:8px 8px 8px 18px;background:var(--ink);border-radius:999px;box-shadow:var(--shadow-md)}.navbar-brand,.navbar-inner{display:flex;align-items:center}.navbar-brand{gap:12px;margin-right:auto;text-decoration:none}.navbar-mark{width:34px;height:34px;border-radius:10px;flex-shrink:0;background:linear-gradient(145deg,#f6f4ef,#dfdacd);box-shadow:inset 2px 2px 4px rgba(120,110,90,.35),inset -2px -2px 5px rgba(255,255,255,.9);position:relative}.navbar-mark:after{content:"";position:absolute;inset:0;margin:auto;width:12px;height:12px;border-radius:50%;box-shadow:inset 1.5px 1.5px 2px rgba(120,110,90,.5),inset -1.5px -1.5px 2px rgba(255,255,255,.95)}.navbar-brand-title{margin:0;font-size:1.02rem;font-weight:700;letter-spacing:-.01em;color:var(--panel)}.navbar-links{display:flex;align-items:center;gap:26px;margin-right:16px}.navbar-links a{color:rgba(251,250,247,.7);text-decoration:none;font-size:.87rem;font-weight:500;transition:color .15s}.navbar-links a:hover{color:var(--panel)}.navbar-cta{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border:0;border-radius:999px;background:var(--panel);color:var(--ink)!important;font:inherit;font-size:.85rem;font-weight:600;text-decoration:none;white-space:nowrap;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.navbar-cta:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);color:var(--panel)!important;background:var(--accent)}.navbar-mobile{display:none}.navbar-mobile-toggle{display:none;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;color:var(--panel);cursor:pointer;list-style:none}.navbar-mobile-toggle::-webkit-details-marker{display:none}.navbar-mobile-toggle:hover{background:rgba(255,255,255,.08)}.navbar-icon-close,.navbar-mobile[open] .navbar-icon-open{display:none}.navbar-mobile[open] .navbar-icon-close{display:block}.navbar-mobile-panel{position:absolute;left:0;right:0;top:calc(100% + 10px);padding:10px;background:var(--ink);border-radius:20px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:2px;z-index:1}.navbar-mobile-panel a{padding:11px 14px;border-radius:12px;color:rgba(251,250,247,.85);text-decoration:none;font-size:.92rem;font-weight:500}.navbar-mobile-panel a:hover{background:rgba(255,255,255,.06);color:var(--panel)}.navbar-cta-mobile{justify-content:center;margin-top:6px}@media (max-width:880px){.navbar-inner>.navbar-cta,.navbar-links{display:none}.navbar-mobile{display:block}.navbar-mobile-toggle{display:inline-flex}}.layout{display:grid;grid-template-columns:340px 1fr;grid-gap:22px;gap:22px;align-items:start}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:9px 18px;box-shadow:var(--shadow-sm);position:-webkit-sticky;position:sticky;top:16px}.group{padding:16px 0;border-bottom:1px solid var(--line)}.section-modal:last-child .group:last-child{border-bottom:0}.group-label{display:block;font-size:.72rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px}.mobile-menu{display:none}.section-modal-backdrop{display:none;border:0;padding:0}.mini-preview,.section-modal-header{display:none}.section-modal{border-bottom:1px solid var(--line)}.section-modal:last-child{border-bottom:0}.accordion-header{display:flex;align-items:center;gap:10px;width:100%;padding:15px 2px;border:0;background:transparent;color:var(--ink);font:inherit;font-size:.78rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;text-align:left;transition:color .15s}.accordion-header:hover{color:var(--accent)}.accordion-header svg:first-child{flex:none;color:var(--accent)}.accordion-header-label{flex:1 1}.accordion-chevron{flex:none;color:var(--ink-soft);transition:transform .2s ease}.accordion-header[aria-expanded=true] .accordion-chevron{transform:rotate(180deg)}.accordion-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s ease}.accordion-body.is-open{grid-template-rows:1fr}.accordion-body-inner{overflow:hidden;min-height:0}.accordion-body-inner .group:first-child{padding-top:2px}.accordion-body-inner .group:last-child{border-bottom:0;padding-bottom:4px}.canvas-text-hit{position:absolute;cursor:-webkit-grab;cursor:grab;touch-action:none;border-radius:4px;transition:box-shadow .12s}.canvas-text-hit.is-selected,.canvas-text-hit:hover{box-shadow:0 0 0 1px rgba(255,255,255,.85),0 0 0 2px rgba(0,0,0,.35)}.canvas-text-delete{position:absolute;top:-10px;right:-10px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:0;background:#fff;color:var(--ink);cursor:pointer;box-shadow:0 0 0 1px rgba(255,255,255,.85),0 0 0 2px rgba(0,0,0,.3),var(--shadow-sm)}.canvas-text-delete:hover{color:var(--accent)}.canvas-text-background{position:absolute;cursor:text}.canvas-align-guide{position:absolute;pointer-events:none;background:#ff2fb0;box-shadow:0 0 0 1px rgba(255,255,255,.5);z-index:3}.canvas-align-guide-v{width:1px}.canvas-align-guide-h{height:1px}.canvas-text-overlay{position:absolute}.canvas-text-overlay .rich-text-editor{position:relative;width:100%;height:100%}.canvas-text-overlay .rich-text-input{width:100%;height:100%}.canvas-text-overlay .rich-text-input .ProseMirror{height:100%;outline:none;color:var(--ink);font-family:Noto Nastaliq Urdu,Playfair Display,"Noto Serif Devanagari",Gulzar,Noto Naskh Arabic,Jameel Noori Nastaleeq,Jameel Noori Nastaleeq Kasheeda,Amiri,Reem Kufi,Reem Kufi Fun,Aref Ruqaa,Lateef,Rakkas,Mirza,ui-serif,serif}.canvas-text-overlay.is-dark-paper .rich-text-input .ProseMirror{color:#fff}.canvas-text-overlay .rich-text-input .ProseMirror p{margin:0}.rich-text-toolbar{position:fixed;z-index:46;padding:6px 8px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:var(--shadow-md);white-space:nowrap}.rich-text-toolbar-row{display:flex;align-items:center;gap:4px;white-space:nowrap}.rich-text-toolbar-divider{width:1px;height:20px;margin:0 4px;background:var(--line);flex-shrink:0}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(-4px);padding:5px 9px;border-radius:6px;background:var(--ink);color:var(--panel);font-size:.72rem;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s ease .35s,transform .12s ease .35s;z-index:20}[data-tooltip]:focus-visible:after,[data-tooltip]:hover:after{opacity:1;transform:translateX(-50%) translateY(0)}.rich-text-btn{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 7px;flex-shrink:0;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--ink-soft);font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s,opacity .15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.rich-text-btn:hover:not(:disabled){background:rgba(124,111,90,.1);color:var(--ink)}.rich-text-btn.is-active{background:var(--accent);color:var(--accent-ink)}.rich-text-btn:disabled{opacity:.35;cursor:not-allowed}.rich-text-size-stepper{display:inline-flex;align-items:stretch;height:28px;flex-shrink:0;border:1px solid var(--line);border-radius:999px;background:#fff}.rich-text-size-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;border:0;background:transparent;color:var(--ink-soft);cursor:pointer;transition:background .15s,color .15s,opacity .15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.rich-text-size-btn:first-child{border-radius:999px 0 0 999px}.rich-text-size-btn:last-child{border-radius:0 999px 999px 0}.rich-text-size-btn:hover:not(:disabled){background:rgba(124,111,90,.1);color:var(--ink)}.rich-text-size-btn:disabled{opacity:.35;cursor:not-allowed}.rich-text-size-input{width:34px;border:0;border-left:1px solid var(--line);border-right:1px solid var(--line);background:transparent;text-align:center;font:inherit;font-size:.82rem;font-weight:600;color:var(--ink)}.rich-text-size-input:focus{outline:none;background:rgba(124,111,90,.08)}.rich-text-size-input:disabled{opacity:.35}.rich-text-spacing-wrap{position:relative;display:inline-flex;flex-shrink:0}.rich-text-spacing-panel{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);width:220px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:var(--shadow-md);z-index:1}@media (pointer:coarse){.rich-text-toolbar{padding:8px}.rich-text-toolbar-row{gap:6px}.rich-text-btn{min-width:44px;height:44px;font-size:.95rem}.rich-text-toolbar-divider{height:28px}.rich-text-size-stepper{height:46px}.rich-text-size-btn{width:44px}.rich-text-size-input{width:46px;font-size:.95rem}}.rich-text-btn-label{display:none}.preset-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.preset{font:inherit;font-size:.82rem;font-weight:500;padding:10px 8px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);cursor:pointer;transition:transform .08s,border-color .15s,background .15s}.preset:hover{border-color:var(--accent)}.preset:active{transform:translateY(1px)}.preset.is-active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.set-row{display:flex;flex-wrap:wrap;gap:16px 14px;margin:6px 0 16px}.set-chip{position:relative;display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:10px;background:#fff;transition:border-color .15s,background .15s}.set-chip.is-active,.set-chip:hover{border-color:var(--accent)}.set-chip.is-active{background:var(--accent)}.set-chip-star{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-left:5px;border-radius:50%;border:0;background:transparent;color:var(--ink-soft);opacity:.55;cursor:pointer;transition:color .15s,opacity .15s}.set-chip-star:hover{opacity:.9}.set-chip-star.is-default{color:var(--accent);opacity:1}.set-chip.is-active .set-chip-star{color:var(--accent-ink);opacity:.7}.set-chip.is-active .set-chip-star.is-default{color:#ffe9b3;opacity:1}.set-chip-name{font:inherit;font-size:.86rem;font-weight:500;padding:9px 16px 9px 2px;border:0;background:transparent;color:var(--ink);cursor:pointer;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.set-chip.is-active .set-chip-name{color:var(--accent-ink)}.set-chip-delete{position:absolute;top:-8px;right:-8px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line);background:var(--panel);color:var(--ink-soft);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.set-chip-delete:hover{border-color:var(--accent);color:var(--ink);background:#fff}.set-chip-request{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;margin:0 7px 0 -3px;border-radius:50%;border:0;background:transparent;color:var(--ink-soft);opacity:.55;cursor:pointer;transition:color .15s,opacity .15s,background .15s}.set-chip-request:hover{opacity:1;color:var(--accent);background:rgba(124,111,90,.1)}.set-chip.is-active .set-chip-request{color:var(--accent-ink);opacity:.7}.set-chip.is-active .set-chip-request:hover{opacity:1;color:#fff;background:rgba(255,255,255,.15)}.set-empty{margin:0 0 12px;font-size:.82rem;color:var(--ink-soft)}.set-add-toggle{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:.82rem;font-weight:500;padding:8px 14px;border-radius:10px;cursor:pointer;border:1px dashed var(--line);background:transparent;color:var(--ink-soft);transition:border-color .15s,color .15s,background .15s}.set-add-toggle:hover{border-color:var(--accent);color:var(--accent);background:rgba(124,111,90,.06)}.set-save-row{display:flex;gap:8px;animation:set-add-in .16s ease}.set-save-row input{flex:1 1;min-width:0;font:inherit;font-size:.85rem;padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s}.set-save-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(124,111,90,.14)}.set-add-cancel{display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink-soft);cursor:pointer;transition:border-color .15s,color .15s}.set-add-cancel:hover{border-color:var(--accent);color:var(--ink)}@keyframes set-add-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.btn.small{padding:8px 14px;font-size:.82rem}.btn.danger{background:#a8452e;color:#fff;border-color:#a8452e}.btn.danger:hover{box-shadow:0 6px 18px rgba(168,69,46,.3)}.modal-overlay{position:fixed;inset:0;z-index:50;background:rgba(20,17,12,.42);display:flex;align-items:center;justify-content:center;padding:20px;animation:modal-fade-in .15s ease}.gallery-submit-overlay{background:rgba(15,13,10,.82)}.modal{width:100%;max-width:360px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-md);animation:modal-pop-in .18s ease}.modal h2{margin:0 0 8px;font-size:1.05rem;font-weight:600;color:var(--ink)}.modal p{margin:0 0 18px;font-size:.88rem;color:var(--ink-soft);line-height:1.5}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.modal-lg{max-width:460px;max-height:90vh;overflow-y:auto}.gallery-submit-modal .gallery-preview{margin:0 0 16px;max-height:320px}.gallery-submit-notice{margin:0 0 16px;padding:10px 14px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px;background:rgba(124,111,90,.06);font-size:.84rem;color:var(--ink);line-height:1.5}.gallery-submit-field{margin:0 0 14px}.gallery-submit-field label{display:block;margin:0 0 6px;font-size:.84rem;font-weight:500;color:var(--ink)}.gallery-submit-field input,.gallery-submit-field textarea{width:100%;font:inherit;font-size:.88rem;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);outline:none;resize:vertical;transition:border-color .15s,box-shadow .15s}.gallery-submit-field input:focus,.gallery-submit-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(124,111,90,.14)}.gallery-submit-field input.gallery-submit-otp-input{font-size:1.3rem;font-weight:600;letter-spacing:.5em;text-align:center;padding-left:16px}.gallery-submit-otp-actions{display:flex;justify-content:flex-end;margin:-6px 0 14px}.gallery-submit-error{margin:0 0 14px;font-size:.82rem;color:#a8452e;line-height:1.5}.gallery-submit-honeypot{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;padding:0}.set-picker-list{display:flex;flex-direction:column;gap:8px;margin:0 0 18px;max-height:40vh;overflow-y:auto}.set-picker-row{font:inherit;font-size:.88rem;font-weight:500;text-align:left;padding:11px 14px;border:1.5px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s}.set-picker-row:hover{border-color:var(--accent);background:rgba(124,111,90,.06)}@media (max-width:880px){.modal-lg{max-width:100%;width:100%;max-height:92vh}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-pop-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.slider{margin-bottom:14px}.slider:last-child{margin-bottom:0}.slider-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.slider-head label{font-size:.86rem;color:var(--ink)}.slider-head output{font-size:.8rem;color:var(--ink-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;border-radius:4px;background:#e3ddd0;cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:17px;height:17px;border-radius:50%;background:#fff;border:1px solid #cabfa6;box-shadow:var(--shadow-sm);-webkit-transition:transform .1s;transition:transform .1s}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.12)}input[type=range]::-moz-range-thumb{width:17px;height:17px;border-radius:50%;background:#fff;border:1px solid #cabfa6;box-shadow:var(--shadow-sm)}input[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}input[type=range]:disabled{opacity:.45;cursor:not-allowed}.field-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.field-row:last-child{margin-bottom:0}.field-row>label{font-size:.86rem;color:var(--ink)}.field-hint{margin:-6px 0 12px;font-size:.78rem;color:var(--ink-soft)}select#aspect,select#brandingFont,select#font{font:inherit;font-size:.85rem;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);cursor:pointer;max-width:190px}select#font:disabled{opacity:.45;cursor:not-allowed}input#brandingText{font:inherit;font-size:.85rem;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);outline:none;max-width:190px;transition:border-color .15s,box-shadow .15s}input#brandingText:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(124,111,90,.14)}input#brandingSize{font:inherit;font-size:.85rem;padding:5px 7px 5px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);cursor:pointer}input[type=color]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:34px;height:30px;padding:2px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:none;border-radius:5px}input[type=color]::-moz-color-swatch{border:none;border-radius:5px}.seg{display:inline-flex;background:#f0ece2;border-radius:9px;padding:3px}.seg-btn{font:inherit;font-size:.8rem;border:0;background:transparent;color:var(--ink-soft);padding:5px 11px;border-radius:7px;cursor:pointer}.seg-btn.is-active{background:#fff;color:var(--ink);box-shadow:var(--shadow-sm)}.seg-btn:disabled{opacity:.45;cursor:not-allowed}.swatches{display:inline-flex;gap:8px}.swatch{width:26px;height:26px;border-radius:50%;background:var(--c);border:1px solid rgba(0,0,0,.12);cursor:pointer;padding:0;box-shadow:inset 0 0 0 2px #fff;transition:transform .1s}.swatch:hover{transform:scale(1.08)}.swatch.is-active{outline:2px solid var(--accent);outline-offset:2px}.stage{min-width:0}.stage-inner{position:relative;background:repeating-conic-gradient(#eeeae1 0 25%,#f7f4ee 0 50%) 0 0 /22px 22px;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(16px,4vw,40px);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);min-height:340px;overflow:hidden}#preview{display:block;max-width:100%;border-radius:6px;box-shadow:0 10px 30px rgba(40,35,25,.14)}.branding-handle{position:absolute;cursor:-webkit-grab;cursor:grab;touch-action:none;border-radius:4px;transition:box-shadow .12s}.branding-handle:hover{box-shadow:0 0 0 1px rgba(255,255,255,.85),0 0 0 2px rgba(0,0,0,.35)}.branding-handle.is-dragging{cursor:-webkit-grabbing;cursor:grabbing;box-shadow:0 0 0 1.5px rgba(255,255,255,.9),0 0 0 3px rgba(0,0,0,.4)}.stage-bar{justify-content:space-between;flex-wrap:wrap;margin-top:16px}.stage-bar,.stage-bar-left{display:flex;align-items:center;gap:12px}.checkbox{display:inline-flex;align-items:center;gap:8px;font-size:.88rem;color:var(--ink);cursor:pointer}.checkbox input{width:16px;height:16px;accent-color:var(--accent)}.actions{display:flex;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font:inherit;font-size:.9rem;font-weight:500;text-decoration:none;padding:10px 18px;border-radius:10px;cursor:pointer;border:1px solid var(--line);background:#fff;color:var(--ink);transition:transform .08s,box-shadow .15s,background .15s,opacity .15s}.btn:active{transform:translateY(1px)}.btn.ghost:hover{border-color:var(--accent)}.btn.icon{padding:0;width:40px;height:40px;flex:none}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);box-shadow:var(--shadow-sm)}.btn.primary:hover{box-shadow:0 6px 18px rgba(124,111,90,.3)}.btn.is-busy{opacity:.6;pointer-events:none}.hint{margin:12px 2px 0;font-size:.82rem;color:var(--ink-soft)}.hint.flash{color:var(--accent);font-weight:500}.faq{margin-top:56px;padding-top:40px;border-top:1px solid var(--line)}.faq h2{margin:0 0 24px;font-size:1.3rem;font-weight:600;letter-spacing:-.01em;color:var(--ink)}.faq-intro{margin-bottom:48px}.how-it-works{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:24px;gap:24px}.how-it-works li{display:flex;flex-direction:column;gap:10px}.how-it-works-index{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(145deg,#f6f4ef,#dfdacd);box-shadow:inset 1px 1px 2px rgba(120,110,90,.35),inset -1px -1px 2px rgba(255,255,255,.9);color:var(--ink-soft);font-size:.8rem;font-weight:700}.how-it-works h3{margin:4px 0;font-size:.95rem;font-weight:600;color:var(--ink)}.how-it-works p{margin:0;font-size:.85rem;color:var(--ink-soft);line-height:1.55}.faq-list{display:flex;flex-direction:column;gap:10px}.faq-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:4px 18px}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;font-size:.95rem;font-weight:500;color:var(--ink);cursor:pointer;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-chevron{flex:none;color:var(--ink-soft);transition:transform .18s ease}.faq-item[open] .faq-chevron{transform:rotate(180deg)}.faq-item p{margin:0 0 18px;font-size:.88rem;color:var(--ink-soft);line-height:1.6}.gallery-index{position:relative;overflow:hidden}.gallery-heading{position:relative;margin:0 0 14px;font-family:var(--font-ui);font-size:clamp(2.2rem,4vw,3rem);font-weight:700;letter-spacing:-.02em;color:var(--ink)}.gallery-intro{position:relative;margin:0 0 28px;max-width:620px;color:var(--ink-soft);font-size:.95rem;line-height:1.6}.gallery-toolbar{position:relative;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:32px}.gallery-filters{display:flex;flex-wrap:wrap;gap:8px}.gallery-chip{padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink-soft);font-size:.82rem;font-weight:500}.gallery-chip.is-active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.gallery-sort{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink-soft);font-size:.82rem;font-weight:500}.gallery-grid{position:relative;column-count:1;column-gap:20px}@media (min-width:620px){.gallery-grid{column-count:2}}@media (min-width:980px){.gallery-grid{column-count:3}}@media (min-width:1240px){.gallery-grid{column-count:4}}.gallery-card{display:block;page-break-inside:avoid;break-inside:avoid;margin:0 0 20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:inherit;text-decoration:none;box-shadow:var(--shadow-sm);overflow:hidden;transition:border-color .15s,box-shadow .15s,transform .08s}.gallery-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md)}.gallery-card:active{transform:translateY(1px)}.gallery-card-media{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;margin:6px 6px 0;border-radius:9px}.gallery-card-canvas{display:flex;width:100%}.gallery-card-media canvas{display:block;width:100%!important;height:auto!important}.gallery-card-open{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.85);color:var(--ink);box-shadow:var(--shadow-sm)}.gallery-card-body{padding:16px 18px 20px}.gallery-card-body h2,.gallery-card-body h3{margin:0 0 6px;font-size:1rem;font-weight:600;color:var(--ink)}.gallery-card-body p{margin:0;font-size:.85rem;color:var(--ink-soft);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gallery-preview{display:flex;align-items:center;justify-content:center;background:repeating-conic-gradient(#eeeae1 0 25%,#f7f4ee 0 50%) 0 0 /22px 22px;border:1px solid var(--line);border-radius:10px;padding:clamp(12px,3vw,28px);overflow:hidden}.gallery-preview canvas{display:block;max-width:100%;border-radius:6px;box-shadow:0 10px 30px rgba(40,35,25,.14)}.gallery-back{margin:0 0 18px;font-size:.88rem}.gallery-back a{color:var(--ink-soft)}.gallery-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:36px;gap:36px;align-items:start;margin-bottom:48px}.gallery-detail-media{position:-webkit-sticky;position:sticky;top:16px}.gallery-detail-media .gallery-preview{margin:0}.gallery-detail-info h1{margin:0 0 12px;font-size:1.7rem;font-weight:700;letter-spacing:-.01em;color:var(--ink)}.gallery-tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 16px;padding:0}.gallery-tag{padding:5px 13px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink-soft);font-size:.78rem;font-weight:500}.gallery-detail-blurb{margin:0 0 22px;color:var(--ink-soft);font-size:.95rem;line-height:1.6}.gallery-cta{margin-bottom:28px}.gallery-specs{display:flex;flex-direction:column;gap:12px;margin:0;padding:18px 20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.gallery-specs>div{display:flex;justify-content:space-between;gap:12px}.gallery-specs dt{margin:0;font-size:.82rem;color:var(--ink-soft)}.gallery-specs dd{margin:0;font-size:.86rem;font-weight:600;color:var(--ink);text-align:right}.gallery-content{max-width:720px;margin:0 0 56px;padding-top:32px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:28px}.gallery-content h2{margin:0 0 10px;font-size:1.05rem;font-weight:600;color:var(--ink)}.gallery-content p{margin:0;color:var(--ink-soft);font-size:.92rem;line-height:1.7}.gallery-related{padding-top:32px;border-top:1px solid var(--line)}.gallery-related h2{margin:0 0 20px;font-size:1.05rem;font-weight:600;color:var(--ink)}.blog-detail,.blog-index{position:relative;overflow:hidden}.blog-heading{position:relative;margin:0 0 14px;font-family:var(--font-ui);font-size:clamp(2.2rem,4vw,3rem);font-weight:700;letter-spacing:-.02em;color:var(--ink)}.blog-intro{position:relative;margin:0 0 28px;max-width:620px;color:var(--ink-soft);font-size:.95rem;line-height:1.6}.gallery-card-body .blog-card-meta{display:flex;gap:10px;margin:8px 0 0;font-size:.78rem;color:var(--ink-soft)}.blog-cover{margin:0 0 28px;max-width:520px}.blog-detail h1{margin:0 0 8px;font-size:1.9rem;font-weight:700;letter-spacing:-.01em;color:var(--ink)}.blog-byline{display:flex;gap:12px;margin:0 0 16px;font-size:.85rem;color:var(--ink-soft)}.blog-content{max-width:720px;margin:32px 0 56px;color:var(--ink-soft);font-size:.95rem;line-height:1.75}.blog-content h2{margin:32px 0 12px;font-size:1.3rem;font-weight:700;letter-spacing:-.01em;color:var(--ink)}.blog-content h2:first-child{margin-top:0}.blog-content h3{margin:24px 0 10px;font-size:1.08rem;font-weight:600;color:var(--ink)}.blog-content p{margin:0 0 16px}.blog-content ol,.blog-content ul{margin:0 0 16px;padding-left:22px}.blog-content li{margin:0 0 6px}.blog-content a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.blog-content strong{color:var(--ink)}.blog-content blockquote{margin:0 0 16px;padding:4px 18px;border-left:3px solid var(--accent);color:var(--ink-soft);font-style:italic}.blog-content code{padding:2px 6px;border-radius:4px;background:var(--panel);border:1px solid var(--line);font-size:.85em}.blog-content pre{margin:0 0 16px;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);overflow-x:auto}.blog-content pre code{padding:0;border:0;background:none}.blog-content table{width:100%;margin:0 0 16px;border-collapse:collapse;font-size:.88rem}.blog-content td,.blog-content th{padding:8px 12px;border:1px solid var(--line);text-align:left}.blog-content th{background:var(--panel);font-weight:600;color:var(--ink)}.blog-content hr{border:0;border-top:1px solid var(--line);margin:24px 0}.blog-content img{max-width:100%;border-radius:8px}.blog-related{padding-top:32px;border-top:1px solid var(--line)}.blog-related h2{margin:0 0 20px;font-size:1.05rem;font-weight:600;color:var(--ink)}.not-found{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:560px;margin:48px auto 80px}.not-found-code{margin:0 0 4px;font-family:var(--font-ui);font-size:clamp(4rem,14vw,7rem);font-weight:700;letter-spacing:-.03em;color:rgba(43,40,35,.12)}.not-found h1{margin:0 0 10px;font-size:1.9rem;font-weight:700;letter-spacing:-.01em;color:var(--ink)}.not-found p{margin:0 0 28px;color:var(--ink-soft);font-size:.95rem;line-height:1.6}.not-found .actions{justify-content:center;flex-wrap:wrap}@media (max-width:880px){.layout{grid-template-columns:1fr}.panel{position:static}.how-it-works{grid-template-columns:repeat(2,1fr)}.gallery-detail-layout{grid-template-columns:1fr;gap:28px}.gallery-detail-media{position:static}.mobile-menu{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin:14px 0 4px}.mobile-menu-btn{display:flex;flex-direction:column;align-items:center;gap:7px;padding:14px 6px 12px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink-soft);font:inherit;font-size:.72rem;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:border-color .15s,background .15s,transform .08s}.mobile-menu-btn svg{color:var(--accent)}.mobile-menu-btn:hover{border-color:var(--accent);background:rgba(124,111,90,.05)}.mobile-menu-btn:active{transform:translateY(1px)}.section-modal{display:none;border-bottom:0}.section-modal.is-open{display:block}.accordion-header{display:none}.accordion-body,.accordion-body.is-open{display:block;grid-template-rows:none}.section-modal-backdrop{display:block;position:fixed;inset:0;z-index:40;background:rgba(20,17,12,.44);animation:modal-fade-in .18s ease}.section-modal-panel{position:fixed;left:0;right:0;bottom:0;z-index:41;max-height:74vh;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--panel);border-radius:22px 22px 0 0;padding:8px 18px calc(18px + env(safe-area-inset-bottom, 0px));box-shadow:0 -16px 44px rgba(40,35,25,.24);animation:sheet-slide-up .24s cubic-bezier(.32,.72,0,1)}.section-modal-panel:before{content:"";display:block;width:36px;height:4px;margin:2px auto 12px;border-radius:2px;background:var(--line)}.section-modal-header{display:flex;align-items:center;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;background:var(--panel);padding-bottom:12px;font-size:.95rem;font-weight:600;color:var(--ink)}.section-modal-close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink-soft);cursor:pointer;transition:border-color .15s,color .15s}.section-modal-close:hover{border-color:var(--accent);color:var(--ink)}.section-modal-panel .group:first-child{padding-top:2px}.section-modal-panel .group:last-child{border-bottom:0;padding-bottom:2px}.mini-preview{display:block;position:fixed;top:max(14px,env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);z-index:45;padding:6px;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-md);animation:mini-preview-in .22s ease}.mini-preview canvas{display:block;width:76px;height:76px;border-radius:10px;background:repeating-conic-gradient(#eeeae1 0 25%,#f7f4ee 0 50%) 0 0 /14px 14px}.rich-text-toolbar.is-docked{position:fixed;bottom:env(safe-area-inset-bottom,0);left:0;right:0;width:100%;border-radius:0;border-width:1px 0 0}.rich-text-toolbar.is-docked .rich-text-toolbar-row{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.rich-text-toolbar.is-docked .rich-text-toolbar-row::-webkit-scrollbar{display:none}.rich-text-toolbar.is-docked:after,.rich-text-toolbar.is-docked:before{content:"";position:absolute;top:0;bottom:0;width:56px;z-index:999;pointer-events:none;opacity:0;transition:opacity .32s cubic-bezier(.22,.61,.36,1)}.rich-text-toolbar.is-docked:before{left:0;background:linear-gradient(to right,var(--panel) 0,transparent 100%)}.rich-text-toolbar.is-docked:after{right:0;background:linear-gradient(to left,var(--panel) 0,transparent 100%)}.rich-text-toolbar.is-docked.can-scroll-left:before,.rich-text-toolbar.is-docked.can-scroll-right:after{opacity:1}.rich-text-toolbar.is-docked .rich-text-btn{flex-direction:column;justify-content:center;gap:2px;width:auto;height:auto;min-width:44px;min-height:44px;padding:6px 10px}.rich-text-toolbar.is-docked .rich-text-btn-label{display:block;font-size:.62rem;font-weight:500;line-height:1;white-space:nowrap}.rich-text-spacing-panel{position:fixed;top:auto;bottom:var(--spacing-panel-offset,100%);left:0;right:0;width:100%;transform:none;border-radius:0;border-width:1px 0 0}}@keyframes sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes mini-preview-in{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}@media (max-width:460px){.how-it-works,.preset-row{grid-template-columns:1fr}.actions{width:100%}.actions .btn{flex:1 1}.actions .btn.icon{flex:none}.field-row{flex-direction:column;align-items:flex-start}select#aspect,select#brandingFont,select#font{max-width:none;width:100%}.set-save-row{flex-wrap:wrap}.set-save-row input{flex-basis:100%}}@media (max-width:450px){.actions .btn-label{display:none}.actions .btn{height:40px}.actions .btn.icon{flex:1 1;width:auto}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}