.pz-form,.pz-preview{--pz-ink:#2b2522;--pz-muted:#7a6f68;--pz-paper:#fffdf9;--pz-surface:#fff;--pz-line:#e8dfd6;--pz-accent:#b3876b;--pz-accent-ink:#fff;--pz-accent-soft:#f5ebe3;--pz-error:#b4432f;--pz-radius:14px;--pz-heading-font:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--pz-body-font:inherit;color:var(--pz-ink);font-family:var(--pz-body-font)}.pz-form{gap:20px;display:grid}.pz-step{background:var(--pz-surface);border:1px solid var(--pz-line);border-radius:var(--pz-radius);padding:22px 22px 24px}.pz-step__header{align-items:center;gap:12px;margin-bottom:18px;display:flex}.pz-step__number{background:var(--pz-accent-soft);width:28px;height:28px;color:var(--pz-accent);border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:600;display:inline-grid}.pz-step__title{font-family:var(--pz-heading-font);letter-spacing:.01em;margin:0;font-size:21px;font-weight:500}.pz-step__description{color:var(--pz-muted);margin:-8px 0 16px}.pz-step__fields{gap:20px;display:grid}.pz-field{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.pz-field legend,.pz-field>label{margin-bottom:8px;padding:0}.pz-field__label{font-size:15px;font-weight:600}.pz-field__optional{color:var(--pz-muted);font-weight:400}.pz-field__admin{background:var(--pz-ink);color:var(--pz-paper);letter-spacing:.04em;text-transform:uppercase;vertical-align:2px;border-radius:999px;margin-left:8px;padding:1px 7px;font-size:11px;font-weight:600}.pz-field__meta{color:var(--pz-muted);justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;display:flex}.pz-field__counter{font-variant-numeric:tabular-nums;margin-left:auto}.pz-field__counter--over,.pz-field__error{color:var(--pz-error)}.pz-field__error{font-size:13px}.pz-input{box-sizing:border-box;width:100%;font:inherit;color:inherit;background:var(--pz-paper);border:1px solid var(--pz-line);border-radius:10px;padding:12px 14px;font-size:16px;transition:border-color .15s,box-shadow .15s}textarea.pz-input{resize:vertical;line-height:1.5}.pz-input:focus{border-color:var(--pz-accent);box-shadow:0 0 0 3px var(--pz-accent-soft);outline:none}.pz-field--invalid .pz-input{border-color:var(--pz-error)}.pz-select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 20px),calc(100% - 15px);background-repeat:no-repeat;background-size:5px 5px;padding-right:40px}.pz-option input,.pz-swatch input{opacity:0;pointer-events:none;position:absolute}.pz-options{flex-wrap:wrap;gap:8px;display:flex}.pz-option{border:1px solid var(--pz-line);background:var(--pz-paper);cursor:pointer;text-align:center;border-radius:10px;gap:2px;min-width:84px;padding:10px 16px;transition:border-color .15s,background .15s;display:grid;position:relative}.pz-option:hover{border-color:var(--pz-accent)}.pz-option.is-checked{border-color:var(--pz-accent);background:var(--pz-accent-soft);box-shadow:inset 0 0 0 1px var(--pz-accent)}.pz-option:has(input:focus-visible){outline:2px solid var(--pz-accent);outline-offset:2px}.pz-swatch:has(input:focus-visible) .pz-swatch__chip{outline:2px solid var(--pz-accent);outline-offset:2px}.pz-option__label{font-weight:500}.pz-option__hint{color:var(--pz-muted);font-size:12px}.pz-swatches{grid-template-columns:repeat(auto-fill,64px);gap:14px 8px;display:grid}.pz-swatch{cursor:pointer;color:var(--pz-muted);align-content:start;justify-items:center;gap:6px;font-size:13px;display:grid;position:relative}.pz-swatch__label{text-align:center;overflow-wrap:anywhere;max-width:100%;line-height:1.25}.pz-swatch__chip{width:40px;height:40px;box-shadow:0 0 0 3px var(--pz-surface), 0 0 0 4px transparent;border:1px solid #0000001f;border-radius:50%;transition:box-shadow .15s}.pz-swatch__chip--none{background:repeating-linear-gradient(-45deg, var(--pz-paper) 0 6px, var(--pz-line) 6px 7px)}.pz-swatch.is-checked .pz-swatch__chip{box-shadow:0 0 0 3px var(--pz-surface), 0 0 0 5px var(--pz-accent)}.pz-swatch.is-checked{color:var(--pz-ink);font-weight:600}.pz-preview{gap:14px;display:grid}.pz-preview__stage{aspect-ratio:1;border-radius:var(--pz-radius);background:radial-gradient(circle at 50% 40%,#fff,#f1e9e1);justify-content:center;justify-self:center;align-items:center;width:100%;max-height:calc(100vh - 180px);display:flex;position:relative;overflow:hidden;container-type:size}.pz-preview__frame{width:min(86cqw, calc(86cqh * var(--pz-ratio,.75)));aspect-ratio:var(--pz-ratio,.75);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;border-radius:3px;transition:opacity .2s,filter .2s;position:relative;overflow:hidden;box-shadow:0 1px 2px #3c281e1f,0 12px 32px #3c281e2e}.pz-preview__frame.is-loading{opacity:.75;filter:saturate(.85)}.pz-preview__image{pointer-events:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.pz-preview__shield{background-image:var(--pz-watermark,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='150'%3E%3Ctext x='110' y='82' text-anchor='middle' transform='rotate(-28 110 75)' font-family='Georgia,serif' font-size='20' letter-spacing='5' fill='%23fff' fill-opacity='0.55' stroke='%23000' stroke-opacity='0.07' stroke-width='0.6'%3EPREVIEW%3C/text%3E%3C/svg%3E"));background-size:220px 150px;position:absolute;inset:0}.pz-preview__placeholder{aspect-ratio:3/4;background:linear-gradient(110deg,#f4ede6 30%,#fbf7f3 50%,#f4ede6 70%) 0 0/200% 100%;border-radius:3px;width:70%;animation:1.4s linear infinite pz-shimmer}.pz-preview__spinner{border:2px solid var(--pz-line);border-top-color:var(--pz-accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite pz-spin;position:absolute;top:14px;right:14px}.pz-preview__error{color:var(--pz-muted);background:#ffffffe6;border-radius:999px;margin:0;padding:6px 12px;font-size:13px;position:absolute;bottom:12px}.pz-preview__tabs{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.pz-preview__tab{font:inherit;border:1px solid var(--pz-line);background:var(--pz-surface);color:var(--pz-muted);cursor:pointer;border-radius:999px;padding:7px 14px;font-size:14px}.pz-preview__tab.is-active{background:var(--pz-ink);border-color:var(--pz-ink);color:var(--pz-paper)}@keyframes pz-spin{to{transform:rotate(360deg)}}@keyframes pz-shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.pz-preview__spinner,.pz-preview__placeholder{animation:none}}
:root{--ink:#2b2522;--muted:#7a6f68;--paper:#faf6f1;--line:#e8dfd6;--accent:#b3876b;--accent-dark:#8f664e;--heading-font:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif}*{box-sizing:border-box}html,body{margin:0}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.45}a{color:inherit}code{font-size:.9em}.site-header{border-bottom:1px solid var(--line);background:#fff;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px 24px;display:grid}.site-header__back{color:var(--muted);font-size:14px;text-decoration:none}.site-header__brand{font-family:var(--heading-font);letter-spacing:.04em;font-size:22px;text-decoration:none}.personaliser{grid-template-columns:minmax(0,1fr) minmax(360px,560px);align-items:start;gap:40px;max-width:1600px;margin:0 auto;padding:32px 24px 80px;display:grid}.personaliser__preview{position:sticky;top:24px}.personaliser__intro h1{font-family:var(--heading-font);margin:0 0 20px;font-size:clamp(26px,3vw,34px);font-weight:500;line-height:1.15}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 6px;font-size:12px;font-weight:600}.cart-bar{background:linear-gradient(to top, var(--paper) 75%, transparent);gap:8px;padding:16px 0 4px;display:grid;position:sticky;bottom:0}.button{width:100%;font:inherit;background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:999px;padding:15px 20px;font-size:16px;font-weight:600;transition:background .15s}.button:hover{background:#000}.button:disabled{opacity:.6;cursor:progress}.cart-bar__message{text-align:center;color:#b4432f;margin:0;font-size:14px}.dev-payload{border:1px dashed var(--line);border-radius:12px;margin-top:24px;padding:16px;font-size:14px}.dev-payload h2{margin:0 0 8px;font-size:16px}.dev-payload pre{white-space:pre-wrap;word-break:break-word;font-size:12px;overflow-x:auto}.home{max-width:640px;margin:48px auto;padding:0 24px}.home h1{font-family:var(--heading-font);font-weight:500}.home__books{gap:8px;padding:0;list-style:none;display:grid}.home__books li{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;padding:16px 18px;display:flex}.home__books span{color:var(--muted);font-size:14px}@media (max-width:860px){.personaliser{grid-template-columns:1fr;gap:20px;padding:16px 16px 64px}.personaliser__preview{position:static}.site-header{padding:12px 16px}.site-header__back{font-size:13px}}
