:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#203d32;background:#f6f2eb}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c98344;outline-offset:3px}
header{background:#173e30;color:#fff;padding:20px;text-align:center;font-weight:800;font-size:1.55rem;letter-spacing:.02em}main{max-width:1200px;margin:auto;padding:26px 20px}.screen{display:none}.screen.active{display:block}#home{text-align:center;max-width:710px;margin:60px auto 90px}h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.15}p{line-height:1.55}.lead{font-size:1.15rem;color:#566b60}.button{background:#a52d36;color:#fff;border:0;border-radius:999px;padding:13px 21px;font-weight:750}.button:hover{background:#87242c}.button.secondary{background:#e4eae4;color:#194635}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.creator{display:grid;grid-template-columns:minmax(265px,350px) minmax(0,1fr);gap:24px;align-items:start}.controls,.preview-panel{background:white;border-radius:20px;padding:23px;box-shadow:0 8px 28px #153d3015}.controls h2,.preview-panel h2{margin-top:0}.field{margin:18px 0}.field label{display:block;margin-bottom:7px;font-weight:700}.field input,.field select,.field textarea{width:100%;background:#fff;color:#173e30;border:1px solid #adb7b0;border-radius:9px;padding:12px}.field textarea{min-height:86px;resize:vertical}.hint{font-size:.85rem;color:#677971}.preview-caption{font-size:.86rem;color:#65756c;margin:0 0 14px}.preview-frame{max-width:680px;margin:auto}.art{--paper:#164d39;--ink:#fffbeb;--accent:#ffdb95;--border:#e6bd74;position:relative;aspect-ratio:1/1;width:100%;overflow:hidden;isolation:isolate;background:var(--paper);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:14% 13%;border-radius:18px}.art svg{display:block}.art .decoration{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}.art .content{position:relative;z-index:1;width:100%;display:flex;flex-direction:column;align-items:center;gap:clamp(5px,1.5vw,13px)}.eyebrow{font-family:inherit;color:var(--accent);font-weight:800;letter-spacing:.16em;font-size:clamp(.65rem,1.2vw,1rem)}.art-title{font-family:Georgia,"Times New Roman",serif;font-weight:750;color:var(--accent);font-size:clamp(1.35rem,4.1vw,3.1rem);line-height:1.08;overflow-wrap:anywhere;white-space:pre-line;text-align:center}.art-text{white-space:pre-line;text-align:center;font-family:inherit;font-size:clamp(.75rem,1.7vw,1.28rem);line-height:1.4;overflow-wrap:anywhere}.art-charity{white-space:pre-line;text-align:center;font-family:inherit;font-size:clamp(.68rem,1.35vw,1.05rem);line-height:1.3;overflow-wrap:anywhere}.art-name{font-family:inherit;font-size:clamp(.69rem,1.25vw,1.04rem);font-weight:750;color:var(--accent);overflow-wrap:anywhere}.art-tag{font-family:inherit;font-size:clamp(.65rem,1.3vw,.95rem);font-weight:800;color:var(--accent)}.ornament-symbol{font-size:clamp(1rem,3vw,2.1rem);color:var(--accent)}.art .profile-content{display:none}.art.profile .post-content{display:none}.art.profile .profile-content{display:flex}.art.profile .profile-content{position:absolute;inset:16%;width:auto;height:auto;display:flex;justify-content:center;gap:3%;border:2px solid var(--border);border-radius:50%;padding:10% 7%;overflow:hidden}.profile-big{font-family:Georgia,"Times New Roman",serif;text-align:center;font-size:24px;font-weight:750;line-height:1.14;letter-spacing:0;max-width:100%;min-width:0;flex:none;color:var(--accent)}.profile-big .badge-line{display:block;white-space:nowrap;overflow-wrap:normal;word-break:normal}.profile-big.custom-badge .badge-line{white-space:normal;overflow-wrap:anywhere}.profile-small{white-space:pre-line;text-align:center;font-family:inherit;font-size:clamp(.65rem,1.45vw,1.1rem);overflow-wrap:anywhere}.profile-name{font-size:clamp(.68rem,1.5vw,1rem);font-weight:750;color:var(--accent);overflow-wrap:anywhere}
/* Four original, locally rendered artwork systems. */
.art.classic{--paper:#174934;--ink:#fff9eb;--accent:#f8d59b;--border:#dab475;background:radial-gradient(circle at 50% 50%,#28654b,#133d2c 75%)}
.art.winter{--paper:#173d66;--ink:#fff;--accent:#eefaff;--border:#d8f2ff;background:linear-gradient(#13365d,#497ca0 65%,#c6dfec)}
.art.candy{--paper:#9e2030;--ink:#fffdf8;--accent:#fff5d5;--border:#fff4e7;background:repeating-linear-gradient(135deg,#b52437 0px,#b52437 36px,#faf3e8 36px,#faf3e8 54px,#b52437 54px,#b52437 90px)}
.art.candy:before{content:"";position:absolute;inset:6%;background:#a8293b;border:4px double #fff4dc;border-radius:15px;z-index:0}.art.candy .post-content{width:89%}
.art.gold{--paper:#12223a;--ink:#fffaf1;--accent:#f3d18c;--border:#dba859;background:radial-gradient(circle at 50% 50%,#283958,#142338 68%,#0c172a)}
.art.profile .art-charity{display:none}
[hidden]{display:none!important}footer{text-align:center;color:#6c796e;font-size:.83rem;margin:65px 0 12px}
@media(max-width:850px){.creator{grid-template-columns:1fr}.preview-panel{padding:14px}.art{padding:13% 12%}.art-title{font-size:clamp(1.3rem,6vw,3.1rem)}.art-text{white-space:pre-line;text-align:center;font-family:inherit;font-size:clamp(.76rem,3vw,1.25rem)}.art-charity{white-space:pre-line;text-align:center;font-family:inherit;font-size:clamp(.68rem,2.4vw,1rem)}.profile-small{white-space:pre-line;text-align:center;font-family:inherit;font-size:clamp(.6rem,2.6vw,1rem)}}
@media(max-width:440px){main{padding:12px}.art{border-radius:12px}.art .content{gap:6px}.art-title{font-size:clamp(1.1rem,6vw,1.65rem)}.art-charity{white-space:pre-line;text-align:center;font-family:inherit;font-size:.67rem}.art-text{white-space:pre-line;text-align:center;font-family:inherit;font-size:.76rem}.eyebrow{font-size:.58rem}}
#shareImage,#saveImage{min-width:155px}
.about{max-width:760px;margin:35px auto;background:#fff;border-radius:18px;padding:26px;box-shadow:0 8px 28px #153d3010}.about h2{margin-top:0}.about p{color:#425c4e}.caption-area{margin-top:24px;padding:17px;background:#f1f5ef;border-radius:14px}.caption-area textarea{width:100%;min-height:115px;resize:vertical;background:white;border:1px solid #adb7b0;border-radius:9px;padding:12px;color:#173e30}.caption-area button{margin-top:10px}.top-links{text-align:center;padding:11px;background:#e8eee7}.top-links a{color:#194635;font-weight:700;margin:0 10px}.promo-url{font-family:Arial,sans-serif;font-size:clamp(.65rem,1.2vw,.92rem);font-weight:bold;color:var(--accent);overflow-wrap:anywhere}

@media(max-width:460px){#shareImage,#saveImage{flex:1}}
.export-toolbar{justify-content:center;margin-bottom:2px}.centered-status{text-align:center}
