.holiday-card-editor{margin-block:2rem;padding-block:1.5rem;border-top:1px solid var(--border);color:var(--text)}
.holiday-card-editor>p{max-width:72ch;margin-block:0 1rem}.holiday-card-editor [hidden],.holiday-card-static [hidden]{display:none!important}
.holiday-card-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,420px);gap:2rem;margin-top:1.5rem;align-items:start}
.holiday-card-fields{display:grid;gap:1rem;min-width:0}.holiday-card-fields label{display:grid;gap:.4rem;font-weight:600}
.holiday-card-fields input,.holiday-card-fields textarea,.holiday-card-fields select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);padding:.75rem;max-width:100%;width:100%;caret-color:var(--accent)}
.holiday-card-fields textarea{resize:vertical}.holiday-card-fields select option{background:var(--bg);color:var(--text)}
.holiday-card-note,.holiday-card-preview figcaption{font-size:.9rem;color:var(--text-secondary);font-weight:400;line-height:1.6}
.holiday-card-preview{margin:0;min-width:0}.holiday-card-preview canvas{display:block;width:100%;height:auto;border-radius:12px;background:#f5f5fa}.holiday-card-preview figcaption{margin-top:.6rem}
.holiday-card-actions{display:flex;gap:.6rem;flex-wrap:wrap}.holiday-card-actions button,.holiday-card-actions a,.holiday-card-editor [data-card-open]{font:inherit;font-weight:600;border:1px solid var(--input-border);background:var(--bg-alt);color:var(--text);border-radius:12px;padding:.7rem 1rem;cursor:pointer;text-align:center;min-height:44px;text-decoration:none}
.holiday-card-actions :hover,.holiday-card-editor [data-card-open]:hover{background:var(--surface-hover)}
.holiday-card-actions :disabled,.holiday-card-actions [aria-disabled=true]{opacity:.55;cursor:default}
.holiday-card-actions .card-primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.holiday-card-actions .card-primary:hover{background:var(--accent-hover,var(--accent))}
.holiday-card-editor :focus-visible,.holiday-card-static :focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.holiday-card-output{min-width:0}.holiday-card-output>.holiday-card-actions,.holiday-card-static>.holiday-card-actions{margin-top:1rem}
.holiday-card-other{margin-top:1rem}.holiday-card-other summary{cursor:pointer;min-height:44px;padding-block:.6rem;color:var(--text);font-weight:600}.holiday-card-other textarea{width:100%;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--input-border);padding:.75rem;caret-color:var(--accent)}
.holiday-card-static{max-width:540px}.holiday-card-static [data-card-status]{margin-block:.6rem 1rem}.holiday-card-output [data-card-status]{font-size:.9rem;line-height:1.6;color:var(--text-secondary)}
.holiday-card-editor [data-card-status]{margin-top:1rem;min-height:1.6em;max-width:72ch}
@media(max-width:700px){.holiday-card-layout{grid-template-columns:minmax(0,1fr);gap:1.5rem}.holiday-card-preview{max-width:420px;margin-inline:auto;width:100%}.holiday-card-actions>*{flex:1 1 160px}.holiday-card-editor{padding-inline:0}}
@media(prefers-reduced-motion:reduce){.holiday-card-editor *{scroll-behavior:auto;transition:none!important}}

.holiday-card-layout>.holiday-card-preview{grid-column:2;grid-row:1 / span 2}.holiday-card-fields{grid-column:1;grid-row:1}.holiday-card-output{grid-column:1;grid-row:2}
.holiday-card-editor button{font:inherit;min-height:44px;border:1px solid var(--input-border);border-radius:12px;padding:.65rem .9rem;color:var(--text);background:var(--bg-alt);cursor:pointer}
.holiday-card-editor [data-card-templates]{display:flex;flex-wrap:wrap;gap:.65rem}.holiday-card-editor [data-card-templates]>p{flex-basis:100%;margin:0}.holiday-card-editor [data-template]{width:calc(33.333% - .5rem);padding:.4rem;font-size:.85rem}.holiday-card-editor [data-template] canvas{display:block;width:100%;height:auto;margin-bottom:.4rem;border-radius:6px}.holiday-card-editor [aria-pressed=true]{outline:2px solid var(--accent);outline-offset:2px}.holiday-card-editor [aria-invalid=true]{border:2px solid var(--accent)}.holiday-card-editor [data-count]{font-size:.85rem;font-weight:400;color:var(--text-secondary)}.holiday-card-editor [data-card-back]{margin-top:1rem}.holiday-card-editor [data-card-retry]{margin-top:.75rem}
@media(max-width:700px){.holiday-card-layout>.holiday-card-preview{grid-column:1;grid-row:1;max-width:240px}.holiday-card-fields{grid-column:1;grid-row:2}.holiday-card-output{grid-column:1;grid-row:3}.holiday-card-layout{gap:1.25rem}}
.holiday-card-editor button,.holiday-card-static button,.holiday-card-actions a{overflow-wrap:anywhere;max-width:100%;min-width:0}.holiday-card-editor [data-template]{overflow-wrap:anywhere}.holiday-card-fields>*,.holiday-card-fields label{min-width:0}.holiday-card-editor textarea,.holiday-card-editor input,.holiday-card-editor select{box-sizing:border-box}
.holiday-card-options{display:flex;flex-wrap:wrap;gap:.75rem;margin-block:1rem}.holiday-card-options a{flex:1 1 90px;max-width:150px;min-height:44px;padding:.4rem;border-radius:12px;color:var(--text);text-align:center;font-size:.85rem;overflow-wrap:anywhere;text-decoration:none}.holiday-card-options img{display:block;width:72px;height:90px;margin:0 auto .35rem;border-radius:5px}.holiday-card-options [aria-current=true]{outline:2px solid var(--accent);outline-offset:2px}
