.pf-builder,.pf-builder *,.pf-builder *:before,.pf-builder *:after{box-sizing:border-box}.pf-builder{--pf-accent: #1a1a2e;--pf-accent-contrast: #ffffff;--pf-surface: #f7f7f9;--pf-border: #d9dbe1;--pf-radius: 12px;font-family:inherit;color:inherit;display:block;width:100%}.pf-button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--pf-btn-height, 44px);min-width:44px;padding:var(--pf-btn-padding, 10px 18px);border:1px solid var(--pf-border);border-radius:var(--pf-control-radius, 8px);background:#fff;color:inherit;font-size:var(--pf-btn-font-size, 15px);font-weight:var(--pf-btn-weight, inherit);text-transform:var(--pf-btn-transform, none);letter-spacing:var(--pf-btn-spacing, normal);cursor:pointer}.pf-button:hover{border-color:var(--pf-accent)}.pf-button:focus-visible{outline:3px solid #4c6fff;outline-offset:2px}.pf-button[disabled]{opacity:.55;cursor:not-allowed}.pf-button--primary{background:var(--pf-accent);border-color:var(--pf-accent);color:var(--pf-accent-contrast)}.pf-button--small{min-height:40px;padding:6px 12px;font-size:13px}.pf-button--full{width:100%}.pf-builder--stage .pf-upload,.pf-builder--stage .pf-processing{display:flex;flex-direction:column;justify-content:center;min-height:320px}.pf-builder--stage .pf-processing__bar{width:100%}.pf-upload-cta{display:flex;flex-direction:column;gap:8px}.pf-upload-cta__label{display:block}.pf-upload-cta__hint{margin:0;font-size:12px;opacity:.65}.pf-status{margin:8px 0;font-size:14px}.pf-preview__actions--stack{flex-direction:column;align-items:stretch;margin-top:0}.pillowfied-gallery-host{width:100%}.pf-upload{border:2px dashed var(--pf-border);border-radius:var(--pf-radius);background:var(--pf-surface);padding:32px 20px;text-align:center}.pf-upload--active{border-color:var(--pf-accent);background:#eef1ff}.pf-upload__icon{font-size:40px}.pf-upload__title{margin:8px 0 4px;font-size:18px}.pf-upload__hint{margin:0 0 16px;font-size:14px;opacity:.8}.pf-upload__label{display:inline-block;cursor:pointer}.pf-upload__input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.pf-upload__input:focus-visible+.pf-button{outline:3px solid #4c6fff;outline-offset:2px}.pf-upload__requirements{margin:14px 0 0;font-size:12px;opacity:.65}.pf-processing{border-radius:var(--pf-radius);background:var(--pf-surface);padding:36px 20px;text-align:center}.pf-processing__spinner{width:34px;height:34px;margin:0 auto 12px;border:3px solid var(--pf-border);border-top-color:var(--pf-accent);border-radius:50%;animation:pf-spin .9s linear infinite}@media (prefers-reduced-motion: reduce){.pf-processing__spinner{animation:none;border-top-color:var(--pf-border)}}@keyframes pf-spin{to{transform:rotate(360deg)}}.pf-processing__label{margin:0 0 14px;font-size:15px}.pf-processing__bar{height:8px;border-radius:4px;background:var(--pf-border);overflow:hidden;max-width:380px;margin:0 auto}.pf-processing__bar-fill{height:100%;background:var(--pf-accent);transition:width .4s ease}.pf-preview__viewer{width:100%;aspect-ratio:1 / 1;max-height:560px;border-radius:var(--pf-radius);overflow:hidden;background:#fff}.pf-preview__viewer:focus-within{outline:3px solid #4c6fff;outline-offset:2px}.pf-preview__instructions{margin:10px 0 6px;font-size:13px;text-align:center;opacity:.7}.pf-preview__views{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:8px 0 4px}.pf-preview__actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:14px;align-items:center}.pf-preview__fallback{border-radius:var(--pf-radius);background:var(--pf-surface);padding:24px;text-align:center}.pf-preview__fallback-image{max-width:100%;border-radius:var(--pf-radius);margin-bottom:12px}.pf-preview__share-status{font-size:13px;color:var(--pf-muted, #6b7280);min-height:1em}.pf-preview__share-status:empty{display:none}.pf-preview__done{margin:0;font-size:14px;font-weight:600}.pf-notes{flex-basis:100%;display:flex;flex-direction:column;gap:8px;margin-top:6px;text-align:left}.pf-notes__hint,.pf-notes__saved,.pf-notes__error{margin:0;font-size:13px;line-height:1.4}.pf-notes__hint{color:var(--pf-muted, #6b7280)}.pf-notes__saved{padding:10px 12px;border-radius:var(--pf-radius);background:var(--pf-surface);border:1px solid var(--pf-border)}.pf-notes__error{color:#b42318}.pf-notes__label{font-size:14px;font-weight:600}.pf-notes__field{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--pf-border);border-radius:var(--pf-control-radius, 8px);font:inherit;font-size:15px;resize:vertical}.pf-notes__field:focus{outline:2px solid var(--pf-accent);outline-offset:1px}.pf-notes__actions{display:flex;flex-wrap:wrap;gap:8px}.pf-error{border:1px solid #e5b4b4;border-radius:var(--pf-radius);background:#fdf2f2;color:#7a2727;padding:20px;text-align:center;margin-top:12px}.pf-error__message{margin:0 0 14px;font-size:15px}.pf-error__actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.pf-stage-canvas{position:relative;width:100%;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.pf-stage-canvas__canvas{display:block;max-width:100%;border-radius:var(--pf-radius);background:var(--pf-surface);cursor:grab;outline:none}.pf-stage-canvas__canvas:active{cursor:grabbing}.pf-stage-canvas__canvas:focus-visible{box-shadow:0 0 0 3px #4f7cff59}.pf-stage-canvas[data-loaded=false] .pf-stage-canvas__canvas{visibility:hidden}.pf-stage-canvas__hint{margin:0;font-size:13px;text-align:center;color:#6b6b6b}.pf-template-controls{display:flex;flex-direction:column;gap:10px;margin-top:12px}.pf-template-controls__title{margin:0;font-weight:600}.pf-template-controls__row{display:flex;gap:16px;flex-wrap:wrap}.pf-template-controls__group{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.pf-template-controls__label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#6b6b6b;min-width:44px}.pf-template-controls__btn{min-width:40px;padding:6px 10px;font-size:18px;line-height:1}.pf-template-controls__actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.pf-template-controls--stack .pf-template-controls__actions{flex-direction:column;align-items:stretch}.pf-template-controls--stack .pf-template-controls__actions .pf-button{width:100%}.pf-swatch{width:32px;height:32px;border-radius:50%;border:2px solid var(--pf-border);cursor:pointer;padding:0}.pf-swatch--custom{position:relative;overflow:hidden;background:conic-gradient(#f2d3b8,#c8a27a,#8d5524,#ffdbac,#e0ac69,#f2d3b8)}.pf-swatch__input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.pf-swatch--selected{border-color:var(--pf-accent);box-shadow:0 0 0 2px #fff inset}.pf-preview__flat{display:flex;justify-content:center;align-items:center;border-radius:var(--pf-radius);background:var(--pf-surface);padding:16px}.pf-preview__flat-image{max-width:100%;max-height:70vh;object-fit:contain}.pf-button--active{outline:2px solid currentColor;outline-offset:-2px}.pf-sample{margin-bottom:12px}.pf-sample__caption{margin:8px 0 0;font-size:13px;text-align:center;color:var(--pf-muted, #6b7280)}.pf-visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.pf-template-controls__slider{display:flex;align-items:center;gap:8px}.pf-template-controls__slider input[type=range]{flex:1;min-width:80px;min-height:44px;margin:0;accent-color:var(--pf-accent, #4c6fff)}.pf-stage-canvas__canvas{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;overscroll-behavior:contain}.pf-preview__viewer{max-height:min(560px,72vh)}@media (pointer: coarse){.pf-swatch{width:40px;height:40px}.pf-template-controls__btn{min-width:44px;min-height:44px}}@media (max-width: 749px){.pf-template-controls__group{width:100%}.pf-template-controls__actions{position:sticky;bottom:0;z-index:2;padding:10px 0 max(8px,env(safe-area-inset-bottom));background:var(--pf-surface, #ffffff);flex-direction:column;align-items:stretch}.pf-template-controls__actions .pf-button{width:100%}.pf-preview__actions{flex-direction:column;align-items:stretch}.pf-preview__actions .pf-button{width:100%}}.pf-preview__saving{color:var(--pf-muted, #6b7280)}.pf-crop{display:flex;flex-direction:column;gap:10px;align-items:center}.pf-crop__title{margin:0;font-weight:600;font-size:16px}.pf-crop__note{margin:0;font-size:13px;color:var(--pf-muted, #6b7280);text-align:center}.pf-crop__frame{position:relative;width:100%;display:flex;justify-content:center;background:#111;border-radius:var(--pf-radius);overflow:hidden}.pf-crop__canvas{display:block;cursor:move;touch-action:none;user-select:none;-webkit-user-select:none}.pf-crop__actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.pf-template-controls__hint{margin:0;font-size:13px;color:var(--pf-muted, #6b7280)}.pf-template-controls__fine>summary{cursor:pointer;font-size:14px;font-weight:600;padding:6px 0}.pf-template-controls__fine[open]>summary{margin-bottom:8px}.pfa-scope{--pfa-radius: var(--pf-radius);--pf-selection: var(--pf-color-accent)}.pfa-scope .pf-builder.pf-builder{--pf-accent: var(--pf-color-accent);--pf-accent-contrast: var(--pf-color-on-accent);--pf-surface: var(--pf-color-surface);--pf-border: var(--pf-color-outline);--pf-radius: var(--pfa-radius);--pf-control-radius: var(--pf-radius-button);--pf-muted: color-mix(in srgb, var(--pf-color-text) 65%, transparent);font-family:var(--pf-font-body);color:var(--pf-color-text)}.pfa-scope .pf-button{font-family:var(--pf-font-heading);font-weight:var(--pf-font-heading-weight);text-transform:var(--pf-heading-case);color:var(--pf-color-on-surface);background:var(--pf-color-surface);border:max(var(--pf-border-width),1px) solid var(--pf-color-outline);box-shadow:var(--pf-shadow-small)}.pfa-scope .pf-button--primary{color:var(--pf-color-on-accent);background:var(--pf-color-accent)}.pfa-scope .pf-button:focus-visible{outline-color:var(--pf-color-outline)}.pfa-park{position:fixed;top:0;left:-10000px;width:640px;height:640px;visibility:hidden;pointer-events:none}[data-creator-canvas]>.pfa-stage{position:absolute;top:0;right:0;bottom:0;left:0}[data-creator-canvas]>.pfa-stage .pf-builder--stage{display:grid;place-items:center;height:100%;overflow:hidden}[data-creator-canvas]>.pfa-stage .pf-preview{position:absolute;top:0;right:0;bottom:0;left:0}[data-creator-canvas]>.pfa-stage .pf-preview__viewer{width:100%;height:100%;max-height:none;aspect-ratio:auto;border-radius:0}[data-creator-canvas]>.pfa-stage .pf-preview__viewer canvas{display:block}[data-creator-canvas]>.pfa-stage .pf-preview__instructions,[data-creator-canvas]>.pfa-stage .pf-preview__views{display:none}.pfa-edit{position:absolute;bottom:.75rem;left:.75rem;z-index:1}.pfa-body{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;object-fit:contain;background:var(--pf-color-background)}.pfa-body--stage{display:grid;place-items:center}.pfa-body--stage[hidden]{display:none}.pfa-body--stage>.pf-builder,.pfa-body--stage .pf-stage-canvas{display:grid;place-items:center;width:100%;height:100%}.pfa-body--stage .pf-stage-canvas__hint{display:none}.pfa-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483000;display:flex;flex-direction:column;font-family:var(--pf-font-body);color:var(--pf-color-text);background:var(--pf-color-background);overscroll-behavior:contain}.pfa-overlay[hidden]{display:none}.pfa-overlay__bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;flex:none;padding:.6rem 1rem;padding-top:max(.6rem,env(safe-area-inset-top));border-bottom:max(var(--pf-border-width),1px) solid var(--pf-color-outline)}.pfa-overlay__bar>:first-child{justify-self:start}.pfa-overlay__title{margin:0;text-align:center}.pfa-overlay__close{justify-self:end}.pfa-overlay__body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);overflow:hidden}.pfa-overlay__stage{display:flex;min-height:0;padding:1rem;overflow:auto;background:var(--pf-color-surface)}.pfa-overlay__stage>.pfa-stage{display:contents}.pfa-overlay__stage .pf-builder{width:100%;max-width:720px;margin:auto}.pfa-overlay__side{display:flex;flex-direction:column;gap:.9rem;min-height:0;padding:1.25rem;padding-bottom:max(1.25rem,env(safe-area-inset-bottom));overflow:auto;border-left:max(var(--pf-border-width),1px) solid var(--pf-color-outline)}@media (max-width: 899px){.pfa-overlay__body{grid-template-columns:1fr;grid-template-rows:auto 1fr;overflow:auto}.pfa-overlay__stage{padding:.6rem;overflow:visible}.pfa-overlay__side{overflow:visible;border-top:max(var(--pf-border-width),1px) solid var(--pf-color-outline);border-left:0}}
