:root{--surface:#fbfaf8;--ink:#14213d;--muted:#55607a;--border:#d5d9e4;--field:#fff;--radius:14px;--focus:#14213d}[data-theme=royal]{--bg-1:#2f5bff;--bg-2:#0a1a66;--glow:#ffc21a;--primary:#1f44d6;--primary-hover:#1735ad;--accent:#ffc21a;--accent-ink:#1a1500;--on-bg:#fff;--on-bg-muted:#dbe4ff}[data-theme=plum]{--bg-1:#b32be0;--bg-2:#4a0d78;--glow:#ff5fa8;--primary:#8a1fb8;--primary-hover:#6d1594;--accent:#ffc21a;--accent-ink:#1a1500;--on-bg:#fff;--on-bg-muted:#f1dcff}[data-theme=emerald]{--bg-1:#00b37e;--bg-2:#03594a;--glow:#ffd23f;--primary:#047857;--primary-hover:#035e45;--accent:#ffd23f;--accent-ink:#1a1500;--on-bg:#fff;--on-bg-muted:#d6f7ea}[data-theme=sunrise]{--bg-1:#ff8a3d;--bg-2:#d4146a;--glow:#ffe066;--primary:#c2185b;--primary-hover:#9c1049;--accent:#ffe066;--accent-ink:#2a1a00;--on-bg:#fff;--on-bg-muted:#ffe9dc}[data-theme=ocean]{--bg-1:#0fb5dd;--bg-2:#1b3fae;--glow:#7cf5d2;--primary:#0b63b5;--primary-hover:#084d8e;--accent:#ffd166;--accent-ink:#231a00;--on-bg:#fff;--on-bg-muted:#dff4ff}[data-theme=classic]{--bg-1:#f6efe2;--bg-2:#e4d6c0;--glow:#c9a24a;--primary:#5a2a57;--primary-hover:#431e41;--accent:#4f7049;--accent-ink:#fff;--on-bg:#2b1a2a;--on-bg-muted:#5a4a58}*,:before,:after{box-sizing:border-box}html{height:100%}body{min-height:100%;font-family:var(--font-ui), system-ui, -apple-system, "Segoe UI", sans-serif;color:var(--ink);background:radial-gradient(60rem 40rem at 105% -10%, color-mix(in srgb, var(--glow) 55%, transparent), transparent 60%), radial-gradient(50rem 36rem at -10% 110%, color-mix(in srgb, var(--bg-1) 70%, transparent), transparent 65%), linear-gradient(150deg, var(--bg-1), var(--bg-2));-webkit-font-smoothing:antialiased;background-attachment:fixed;margin:0;transition:background-color .2s}h1,h2,p{margin:0}button,input{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px;box-shadow:0 0 0 5px #fff}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.loading{min-height:100vh}.btn{cursor:pointer;border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;width:100%;min-height:46px;padding:.65rem 1.1rem;font-size:1rem;font-weight:650;transition:background-color .15s,transform .1s,box-shadow .15s;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 6px 16px color-mix(in srgb, var(--primary) 38%, transparent)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{color:var(--primary);border-color:var(--primary);background:0 0}.btn-secondary:hover:not(:disabled){background:color-mix(in srgb, var(--primary) 9%, transparent)}.btn-accent{background:var(--accent);color:var(--accent-ink);box-shadow:0 6px 16px color-mix(in srgb, var(--accent) 40%, transparent)}.btn-accent:hover:not(:disabled){filter:brightness(.95)}.btn-small{width:auto;min-height:44px;padding:.35rem .95rem;font-size:.9rem}.field{text-align:left;margin-bottom:.8rem}.field label{margin-bottom:.3rem;font-size:.85rem;font-weight:600;display:block}.input{background:var(--field);border:1.5px solid var(--border);border-radius:10px;width:100%;min-height:46px;padding:.6rem .85rem}.input:hover{border-color:var(--muted)}.input:focus-visible{outline-offset:0;box-shadow:none;border-color:var(--primary);outline-color:var(--primary)}.password-field{position:relative}.password-field .input{padding-right:4.2rem}.password-toggle{min-height:38px;color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0 .6rem;font-size:.85rem;font-weight:650;position:absolute;top:50%;right:.3rem;transform:translateY(-50%)}.password-toggle:hover{text-decoration:underline}.auth-screen{flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;min-height:100vh;padding:1.5rem 1rem;display:flex}.auth-card{background:var(--surface);text-align:center;border-top:6px solid var(--accent);border-radius:22px;width:100%;max-width:420px;padding:1.75rem 1.5rem 1.5rem;box-shadow:0 24px 60px #050a2859}.auth-brand{flex-direction:column;align-items:center;gap:.6rem;display:flex}.brand-logo{object-fit:contain;display:block}.auth-app{border-top:1px solid var(--border);width:100%;padding-top:.8rem}.auth-app-name{font-family:var(--font-display), Georgia, serif;color:var(--primary);font-size:2rem;font-weight:700;line-height:1.1}.auth-app-name .amp{color:#a8770a;padding:0 .12em;font-style:italic;font-weight:500}.auth-byline{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:.3rem;font-size:.8rem}.auth-tagline{font-family:var(--font-display), Georgia, serif;color:var(--ink);font-style:italic}.auth-form{margin-top:1.1rem}.auth-welcome{margin-bottom:.9rem;font-size:1rem;font-weight:600}.auth-notice{text-align:left;background:color-mix(in srgb, var(--primary) 8%, var(--surface));border-left:4px solid var(--primary);border-radius:10px;margin-bottom:.9rem;padding:.65rem .8rem;font-size:.875rem;line-height:1.45}.auth-fields{border:0;min-width:0;margin:0;padding:0}.auth-fields:disabled{opacity:.6}.auth-fields:disabled .btn,.auth-fields:disabled .auth-link,.auth-fields:disabled .password-toggle{cursor:not-allowed;opacity:1}.auth-actions{flex-direction:column;gap:.6rem;margin-top:.25rem;display:flex}.auth-link{min-height:44px;color:var(--primary);cursor:pointer;background:0 0;border:none;margin-top:.6rem;padding:0 .5rem;font-size:.9rem;text-decoration:underline}.auth-link:disabled{cursor:not-allowed}.auth-message{min-height:1.3rem;color:var(--ink);margin-top:.3rem;font-size:.9rem}.auth-message:empty{min-height:0;margin:0}.auth-divider{color:var(--muted);align-items:center;gap:.75rem;margin:.7rem 0 .8rem;font-size:.85rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-note{color:var(--muted);margin-top:.8rem;font-size:.8rem}.theme-picker{text-align:center;border:0;min-width:0;margin:0;padding:0}.theme-legend{margin:0 auto .55rem;padding:0;font-size:.875rem}.theme-swatches{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.theme-option{cursor:pointer;display:inline-flex}.theme-swatch{border:3px solid #fff;border-radius:50%;width:44px;height:44px;transition:transform .12s;box-shadow:0 0 0 1px #14213d59,0 4px 10px #0003}.theme-option:hover .theme-swatch{transform:scale(1.08)}.theme-option input:checked+.theme-swatch{box-shadow:0 0 0 3px var(--ring,#14213d), 0 4px 10px #00000040;transform:scale(1.08)}.theme-option input:focus-visible+.theme-swatch{outline:3px solid var(--ring,#14213d);outline-offset:5px}.auth-themes{color:var(--on-bg);--ring:var(--on-bg)}.auth-themes .theme-legend{color:var(--on-bg)}.shell{min-height:100vh}.skip-link{background:var(--surface);z-index:10;padding:.6rem 1rem;position:absolute;top:0;left:-999px}.skip-link:focus{top:.5rem;left:.5rem}.shell-header{background:var(--surface);border-bottom:4px solid var(--accent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.5rem 1rem;display:flex}.shell-brand{color:inherit;align-items:center;gap:.6rem;text-decoration:none;display:flex}.shell-name{font-family:var(--font-display), Georgia, serif;color:var(--primary);font-size:1.3rem;font-weight:700;line-height:1.1;display:block}.shell-byline{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.68rem;display:block}.shell-nav{flex-wrap:wrap;gap:.15rem;display:flex}.shell-nav a{min-height:44px;color:var(--ink);border-radius:999px;align-items:center;padding:0 .8rem;font-weight:600;text-decoration:none;display:inline-flex}.shell-nav a:hover{background:color-mix(in srgb, var(--primary) 10%, transparent)}.shell-nav a[aria-current=page]{background:var(--primary);color:#fff}.shell-user{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.shell-who{color:var(--muted);overflow-wrap:anywhere;font-size:.85rem}.shell-main{gap:1rem;max-width:1180px;margin:0 auto;padding:1.25rem 1rem 3rem;display:grid}.panel{background:var(--surface);border-radius:18px;min-width:0;padding:1.25rem 1.2rem;box-shadow:0 14px 34px #050a2838}.panel-title{font-family:var(--font-display), Georgia, serif;color:var(--primary);font-size:1.9rem;line-height:1.15}.panel-subtitle{margin-bottom:.5rem;font-size:1.15rem}.panel-lead{font-family:var(--font-display), Georgia, serif;margin:.3rem 0 .7rem;font-size:1.1rem;font-style:italic}.panel-text{margin-bottom:.7rem;line-height:1.55}.hero .row{margin-top:.4rem}.section-title{margin:0 0 .4rem;font-size:1rem}.stack{gap:1rem;min-width:0;display:grid}.stack-sm{gap:.75rem;min-width:0;display:grid}.row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.grid-2{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:0 .9rem;display:grid}.grow{flex:220px}.center{text-align:center}.btn-auto{width:auto}a.btn{text-decoration:none}.btn-danger{color:#fff;background:#b3261e}.btn-danger:hover:not(:disabled){background:#8f1d17}.label,.choice-set>legend.label{margin-bottom:.3rem;padding:0;font-size:.85rem;font-weight:600;display:block}.hint{color:var(--muted);font-size:.85rem;line-height:1.45}.required{color:var(--muted);font-size:.85rem;font-weight:500}.counter{float:right;color:var(--muted);font-weight:400}.field .hint{margin-top:.3rem}textarea.input{resize:vertical;line-height:1.45}select.input{appearance:auto}.range{width:100%;min-height:44px;accent-color:var(--primary)}.check{align-items:center;gap:.5rem;min-height:44px;font-weight:600;display:inline-flex}.check input,.option-row input{width:20px;height:20px;accent-color:var(--primary);flex:none}.text-link{color:var(--primary);cursor:pointer;background:0 0;border:0;padding:.5rem 0;font-weight:600;text-decoration:underline;display:inline-block}a{color:var(--primary)}.form-error{color:#a1160f;font-weight:600}.form-error:empty,.export-status:empty{display:none}.form-warning,.fit-warning{color:#3d2600;background:#fff4d6;border-left:5px solid #b26a00;border-radius:10px;padding:.7rem .85rem;line-height:1.45}.fit-warning{margin:0}.fit-warning .row{margin-top:.5rem}.export-status{margin-top:.6rem;font-weight:600}.empty{text-align:center;justify-items:center;gap:.7rem;display:grid}.plain-list{gap:.35rem;margin:0 0 .4rem;padding:0;list-style:none;display:grid}.selected-line{margin-bottom:.4rem}.choice-set{border:0;min-width:0;margin:0;padding:0}.chips{flex-wrap:wrap;gap:.45rem;display:flex}.chip,.chip-radio span{border:1.5px solid var(--primary);min-height:44px;color:var(--primary);cursor:pointer;background:0 0;border-radius:999px;align-items:center;padding:0 .95rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.chip:hover,.chip-radio span:hover{background:color-mix(in srgb, var(--primary) 10%, transparent)}.chip[aria-pressed=true],.chip-radio input:checked+span{background:var(--primary);color:#fff}.chip-radio{display:inline-flex}.chip-radio input{opacity:0;width:1px;height:1px;position:absolute}.chip-radio input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.option-row{cursor:pointer;align-items:flex-start;gap:.7rem;padding:.55rem 0;display:flex}.option-row input{margin-top:.2rem}.occasion-groups{gap:.9rem;margin-top:.6rem;display:grid}.occasion-group-title{margin:0 0 .4rem;font-size:.95rem}.filters{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end;gap:0 .9rem;display:grid}.design-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.design-card{background:var(--surface);border-radius:18px;align-content:start;gap:.5rem;min-width:0;padding:.9rem;display:grid;box-shadow:0 14px 34px #050a2838}.design-name{overflow-wrap:anywhere;font-size:1.05rem}.card-canvas{width:100%;margin:0 auto}.card-canvas.portrait{max-width:460px}.card-canvas canvas{background:#fff;border-radius:6px;width:100%;height:auto;display:block;box-shadow:0 10px 28px #00000047}.card-canvas.portrait canvas{aspect-ratio:5/7}.card-canvas.landscape canvas{aspect-ratio:7/5}.editor{gap:1rem;min-width:0;display:grid}.editor-bar{flex-wrap:wrap;align-items:end;gap:.6rem 1rem;display:flex}.editor-bar .field{margin-bottom:0}.editor-bar>p{flex-basis:100%}.save-state{font-size:.9rem;font-weight:600}.save-state.saved:before{content:"✓ "}.save-state.failed{color:#a1160f}.editor-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.editor-preview{min-width:0;position:sticky;top:.75rem}.editor-preview .hint{color:var(--on-bg-muted);margin-top:.6rem}.pane-switch{gap:.5rem;display:none}.pane-switch .chip{background:var(--surface)}.pane-switch .chip[aria-pressed=true]{background:var(--primary)}@media (max-width:860px){.editor-grid{grid-template-columns:minmax(0,1fr)}.pane-switch{display:flex}.pane-hidden{display:none}.pane-collapsed{visibility:hidden;height:0;overflow:hidden}.editor-preview{position:static}}.tabs{border-bottom:2px solid var(--border);flex-wrap:wrap;gap:.3rem;margin-bottom:1rem;display:flex}.tab{min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:4px solid #0000;margin-bottom:-2px;padding:0 .85rem;font-weight:600}.tab[aria-selected=true]{color:var(--primary);border-bottom-color:var(--primary)}.disclosure{border:1.5px solid var(--border);border-radius:12px;padding:0 .85rem}.disclosure>summary{cursor:pointer;min-height:46px;color:var(--primary);align-items:center;font-weight:650;display:flex}.disclosure[open]{padding-bottom:.85rem}.disclosure[open]>summary{margin-bottom:.4rem}.option-list{gap:.6rem;margin:.5rem 0;padding:0;list-style:none;display:grid}.option-card{border:1.5px solid var(--border);background:var(--field);border-radius:12px;gap:.45rem;padding:.8rem;line-height:1.5;display:grid}.option-heading{font-family:var(--font-display), Georgia, serif;color:var(--primary);font-size:1.05rem;font-weight:700}.option-prayer{font-size:.92rem}.option-card blockquote{margin:0;font-style:italic}.verse-ref{font-size:.92rem;font-weight:650}.verse-current{border-color:var(--primary)}.theme-swatches.left{justify-content:flex-start}.theme-swatch.small{width:36px;height:36px}.theme-option{justify-content:center;align-items:center;min-width:44px;min-height:44px}.art-preview{border-radius:8px;max-width:100%;max-height:260px}.text-view{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--field);border:1.5px solid var(--border);border-radius:12px;max-height:22rem;margin:.5rem 0 .8rem;padding:.85rem;font-family:inherit;line-height:1.55;overflow:auto}.prose h2{margin:1.1rem 0 .35rem;font-size:1.15rem}.prose p,.prose li{line-height:1.6}.prose ol,.prose ul{margin:.3rem 0;padding-left:1.3rem}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}}
