:root{
  --ink:#3f2b2f;--muted:#7d686d;--brand:#8f3f57;--brand-dark:#6f2f45;--rose:#e7a9b6;
  --paper:#fffaf6;--cream:#f6eee6;--line:#eadbd5;--card:#fff;--shadow:0 18px 50px rgba(88,45,58,.13);
  --safe-bottom:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{margin:0;min-height:100vh;background:radial-gradient(circle at 15% 0,#fff2eb 0,transparent 34%),var(--paper)}button,input,textarea,select{font:inherit}button{color:inherit}.is-hidden{visibility:hidden!important}.app-shell{min-height:100vh;padding-bottom:calc(78px + var(--safe-bottom))}
.splash{position:fixed;inset:0;z-index:100;display:grid;place-content:center;text-align:center;background:linear-gradient(145deg,#fff8f0,#f7dedb);transition:.45s ease}.splash.hide{opacity:0;pointer-events:none}.splash h1{font-family:Georgia,serif;font-size:3.2rem;margin:26px 0 5px;color:var(--brand-dark)}.splash p{margin:0;color:var(--muted);letter-spacing:.04em}.splash-stack{position:relative;width:145px;height:100px;margin:auto}.splash-stack i{position:absolute;inset:0;border-radius:18px;background:#fff;border:3px solid var(--brand);box-shadow:0 12px 24px rgba(84,40,52,.15)}.splash-stack i:nth-child(1){transform:rotate(-12deg);background:#eab3bd}.splash-stack i:nth-child(2){transform:rotate(8deg);background:#f4dba8}.splash-stack i:nth-child(3){display:grid;place-items:center}.splash-stack i:nth-child(3):after{content:"♥";font-style:normal;font-size:42px;color:var(--brand)}
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;min-height:68px;padding:9px max(14px,env(safe-area-inset-left)) 9px max(14px,env(safe-area-inset-right));background:rgba(255,250,246,.91);backdrop-filter:blur(18px);border-bottom:1px solid rgba(218,197,192,.7)}.icon-btn,.avatar-btn{border:0;background:#fff;border-radius:14px;min-width:42px;height:42px;box-shadow:0 4px 14px rgba(85,47,57,.09);font-size:1.1rem}.brand{border:0;background:transparent;display:flex;align-items:center;gap:10px;text-align:left;min-width:0;padding:0;flex:1}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:14px;background:var(--brand);color:white;font-family:Georgia,serif;font-weight:700}.brand strong,.brand small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand strong{font-family:Georgia,serif;font-size:1.05rem}.brand small{color:var(--muted);font-size:.73rem;margin-top:1px}.top-actions{display:flex;gap:8px;align-items:center}.small-action{border:1px solid var(--line);background:white;border-radius:999px;padding:8px 12px;font-size:.8rem;font-weight:700;color:var(--brand)}
.main-content{width:min(1120px,100%);margin:auto;padding:22px 16px 42px}.view{animation:fade .25s ease}@keyframes fade{from{opacity:.2;transform:translateY(5px)}}.bottom-nav{position:fixed;z-index:35;left:0;right:0;bottom:0;height:calc(70px + var(--safe-bottom));padding:8px max(12px,env(safe-area-inset-left)) var(--safe-bottom) max(12px,env(safe-area-inset-right));display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.96);border-top:1px solid var(--line);backdrop-filter:blur(18px)}.bottom-nav button{border:0;background:transparent;border-radius:16px;display:grid;place-content:center;gap:1px;color:#8c7379}.bottom-nav button.active{color:var(--brand);background:#fff0f2}.bottom-nav span{font-size:1.28rem;line-height:1}.bottom-nav small{font-size:.7rem;font-weight:700}
.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;align-items:stretch}.hero-copy,.hero-art{border-radius:30px;box-shadow:var(--shadow);overflow:hidden}.hero-copy{padding:38px;background:linear-gradient(145deg,#8f3f57,#6f2f45);color:white}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-weight:800;font-size:.69rem;opacity:.75}.hero h1,.screen-head h1{font-family:Georgia,serif}.hero h1{font-size:clamp(2.2rem,5vw,4.8rem);line-height:.98;margin:12px 0 15px;max-width:700px}.hero p{font-size:1.04rem;line-height:1.55;max-width:650px;color:#f9e9eb}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.button{border:0;border-radius:15px;padding:13px 18px;font-weight:800;cursor:pointer}.button.primary{background:var(--brand);color:white}.hero .button.primary{background:#fff;color:var(--brand-dark)}.button.secondary{background:#f5e8e5;color:var(--brand-dark)}.button.ghost{border:1px solid currentColor;background:transparent}.button.full{width:100%}.hero-art{position:relative;min-height:340px;background:#f8dcb9;display:grid;place-items:center}.display-card{position:absolute;width:70%;aspect-ratio:1.6;border-radius:26px;border:5px solid rgba(255,255,255,.8);box-shadow:0 25px 40px rgba(70,35,40,.24);display:grid;place-content:center;text-align:center;padding:25px;font-family:Georgia,serif}.display-card.one{background:#d9a2b0;transform:rotate(-13deg) translate(-22px,7px)}.display-card.two{background:#bad7c8;transform:rotate(9deg) translate(25px,-10px)}.display-card.three{background:#fff6e8;transform:rotate(-2deg);z-index:2}.display-card.three span{font-size:3rem;color:var(--brand)}.display-card.three strong{font-size:1.35rem;margin-top:8px}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.stat-card{background:white;border:1px solid var(--line);border-radius:20px;padding:18px}.stat-card strong{display:block;font-family:Georgia,serif;font-size:1.6rem;color:var(--brand)}.stat-card small{color:var(--muted)}
.section{margin-top:28px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:14px}.section-head h2{font-family:Georgia,serif;margin:0;font-size:1.5rem}.section-head p{margin:4px 0 0;color:var(--muted)}.link-button{border:0;background:transparent;color:var(--brand);font-weight:800}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quick-card{border:1px solid var(--line);background:white;border-radius:22px;padding:18px;text-align:left;min-height:132px;box-shadow:0 7px 24px rgba(80,47,55,.05)}.quick-card span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#fff0f2;color:var(--brand);font-size:1.25rem}.quick-card strong{display:block;margin:14px 0 5px}.quick-card small{color:var(--muted);line-height:1.35}
.screen-head{margin-bottom:20px}.screen-head h1{font-size:clamp(2rem,5vw,3.2rem);margin:7px 0 8px}.screen-head p{color:var(--muted);max-width:780px;line-height:1.55}.stepper{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:0 0 24px}.stepper span{height:6px;border-radius:99px;background:#eadbd5}.stepper span.active{background:var(--brand)}.selection-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.summary-chip{border:1px solid var(--line);background:white;border-radius:999px;padding:7px 11px;font-size:.78rem;color:var(--muted)}
.option-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.option-card{border:1px solid var(--line);background:white;border-radius:22px;padding:19px;text-align:left;min-height:145px;transition:.2s}.option-card:hover,.option-card.selected{border-color:var(--brand);transform:translateY(-2px);box-shadow:0 10px 25px rgba(111,47,69,.1)}.option-card .big-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:#fff0f2;color:var(--brand);font-size:1.35rem}.option-card strong{display:block;margin:14px 0 5px}.option-card small{color:var(--muted);line-height:1.4}.field{display:grid;gap:7px;margin:16px 0}.field label,.field>span{font-weight:800;font-size:.85rem}.field input,.field textarea,.field select,.search-box input{width:100%;border:1px solid var(--line);background:white;border-radius:14px;padding:13px;color:var(--ink);outline:none}.field textarea{min-height:120px;resize:vertical}.field input:focus,.field textarea:focus,.search-box input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #f6dde4}
.message-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.message-card{position:relative;border:1px solid var(--line);background:white;border-radius:22px;padding:20px;text-align:left;min-height:210px}.message-card.selected{border:2px solid var(--brand);box-shadow:0 12px 30px rgba(111,47,69,.12)}.message-card h3{font-family:Georgia,serif;margin:0 38px 10px 0}.message-card p{color:#66545a;line-height:1.53;margin:0}.favorite-mini{position:absolute;right:12px;top:12px;width:34px;height:34px;border:0;border-radius:12px;background:#fff0f2;color:var(--brand);font-size:1rem}.favorite-mini.on{background:var(--brand);color:white}.tone-tag{display:inline-block;margin-top:14px;padding:5px 8px;border-radius:99px;background:#f8f0ec;color:var(--muted);font-size:.68rem;text-transform:capitalize}.wizard-actions{display:flex;justify-content:space-between;gap:10px;margin-top:22px}.wizard-actions .button{min-width:120px}
.design-tabs,.library-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:4px;margin-bottom:15px}.design-tabs button,.library-tabs button{white-space:nowrap;border:1px solid var(--line);background:white;border-radius:999px;padding:9px 13px;font-weight:800;font-size:.78rem}.design-tabs button.active,.library-tabs button.active{background:var(--brand);color:white;border-color:var(--brand)}.asset-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;max-height:420px;overflow:auto;padding:2px}.asset-choice{border:2px solid transparent;background:white;border-radius:16px;padding:5px;box-shadow:0 4px 15px rgba(80,47,55,.06)}.asset-choice.selected{border-color:var(--brand)}.asset-choice img{display:block;width:100%;aspect-ratio:1.6;object-fit:cover;border-radius:10px;background:#f7f1eb}.asset-choice.illustration img{aspect-ratio:1;object-fit:contain}.asset-choice small{display:block;padding:6px 4px 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.mode-card{border:1px solid var(--line);background:white;border-radius:18px;padding:15px;text-align:left}.mode-card.active{border:2px solid var(--brand);background:#fff5f6}.mode-card strong{display:block}.mode-card small{color:var(--muted)}
.preview-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}.preview-panel{background:#f4eae5;border-radius:27px;padding:clamp(10px,3vw,28px);box-shadow:var(--shadow)}.card-canvas{position:relative;width:100%;aspect-ratio:1.6;overflow:hidden;border-radius:clamp(16px,2vw,28px);background:#fff;box-shadow:0 25px 45px rgba(67,36,44,.2)}.card-canvas>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.card-canvas .layer-illustration{inset:7% 31% auto 31%;width:38%;height:42%;object-fit:contain}.card-copy{position:absolute;left:7%;right:7%;bottom:8%;padding:4% 5%;border-radius:18px;background:rgba(255,250,246,.84);backdrop-filter:blur(7px);text-align:center}.card-copy h3{margin:0 0 2.5%;font-family:Georgia,serif;font-size:clamp(18px,3vw,39px);color:var(--brand-dark)}.card-copy p{margin:0;font-size:clamp(11px,1.65vw,22px);line-height:1.35}.card-meta{position:absolute;left:4%;right:4%;top:4%;display:flex;justify-content:space-between;gap:10px;font-size:clamp(8px,1.1vw,14px);font-weight:800;color:var(--brand-dark);text-shadow:0 1px rgba(255,255,255,.8)}.photo-layer{position:absolute;object-fit:cover;z-index:3}.photo-message{position:absolute;z-index:5;display:grid;place-content:center;text-align:center;padding:2%;font-size:clamp(10px,1.5vw,21px);line-height:1.35;color:var(--ink)}.preview-controls{background:white;border:1px solid var(--line);border-radius:24px;padding:18px;position:sticky;top:90px}.preview-controls h2{font-family:Georgia,serif;margin:0 0 12px}.action-stack{display:grid;gap:9px;margin-top:16px}.privacy-note{font-size:.75rem;color:var(--muted);line-height:1.4;margin-top:10px}
.search-box{position:relative;margin-bottom:14px}.search-box input{padding-left:43px}.search-box span{position:absolute;left:16px;top:12px;color:var(--muted)}.filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:15px}.filter-grid select{border:1px solid var(--line);background:white;border-radius:14px;padding:12px}.empty-state{text-align:center;background:white;border:1px dashed #d9c2c6;border-radius:24px;padding:45px 20px}.empty-state span{font-size:2.5rem}.empty-state h2{font-family:Georgia,serif}.settings-card{background:white;border:1px solid var(--line);border-radius:24px;padding:22px;margin-bottom:14px}.settings-card h2{font-family:Georgia,serif;margin-top:0}.settings-card p{color:var(--muted);line-height:1.5}.chip-grid{display:flex;flex-wrap:wrap;gap:8px}.chip-grid.compact{gap:7px}.choice-chip input{position:absolute;opacity:0}.choice-chip span{display:block;border:1px solid var(--line);background:white;border-radius:999px;padding:9px 12px;font-size:.78rem;font-weight:700}.choice-chip input:checked+span{background:var(--brand);border-color:var(--brand);color:white}
.dialog{border:0;border-radius:28px;padding:0;max-width:min(560px,calc(100vw - 24px));box-shadow:0 30px 80px rgba(49,26,32,.3)}.dialog::backdrop{background:rgba(50,29,35,.52);backdrop-filter:blur(4px)}.dialog form{padding:28px}.dialog h2{font-family:Georgia,serif;margin:8px 0}.dialog p{color:var(--muted);line-height:1.5}.dialog label{display:grid;gap:7px;font-weight:800;font-size:.84rem}.dialog input{border:1px solid var(--line);border-radius:14px;padding:13px}.dialog fieldset{border:0;padding:0;margin:18px 0}.dialog legend{font-weight:800;font-size:.85rem;margin-bottom:9px}.dialog-badge{display:grid;place-items:center;width:52px;height:52px;border-radius:17px;background:var(--brand);color:white;font-family:Georgia,serif;font-size:1.4rem}.toast{position:fixed;z-index:100;left:50%;bottom:calc(88px + var(--safe-bottom));transform:translate(-50%,20px);background:#3e2a30;color:white;padding:11px 15px;border-radius:999px;opacity:0;pointer-events:none;transition:.25s;max-width:90vw;text-align:center;font-size:.83rem}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:850px){.hero{grid-template-columns:1fr}.hero-art{min-height:270px}.quick-grid{grid-template-columns:1fr 1fr}.option-grid{grid-template-columns:1fr 1fr}.message-grid{grid-template-columns:1fr 1fr}.asset-grid{grid-template-columns:repeat(4,1fr)}.preview-layout{grid-template-columns:1fr}.preview-controls{position:static}.stats-row{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.main-content{padding:16px 12px 35px}.hero-copy{padding:27px 23px}.hero h1{font-size:2.6rem}.hero-art{min-height:230px}.quick-grid,.option-grid,.message-grid{grid-template-columns:1fr}.quick-card{min-height:auto}.stats-row{gap:7px}.stat-card{padding:13px}.stat-card strong{font-size:1.25rem}.stepper{margin-bottom:18px}.asset-grid{grid-template-columns:repeat(3,1fr);max-height:360px}.mode-grid{grid-template-columns:1fr}.wizard-actions{position:sticky;bottom:72px;z-index:12;background:linear-gradient(transparent,var(--paper) 20%);padding-top:24px}.button{padding:12px 14px}.card-copy{left:5%;right:5%;bottom:6%;border-radius:12px}.topbar{min-height:62px}.brand small{display:none}.filter-grid{grid-template-columns:1fr}.dialog form{padding:23px}}

.asset-filter-panel{display:grid;grid-template-columns:minmax(170px,1fr) minmax(160px,1fr) minmax(220px,1.5fr) auto;gap:9px;align-items:center;margin:0 0 13px;padding:12px;border:1px solid var(--line);border-radius:18px;background:#fff}.asset-filter-panel select,.asset-search input{width:100%;border:1px solid var(--line);border-radius:12px;background:#fffaf6;padding:10px;color:var(--ink)}.asset-search{position:relative}.asset-search span{position:absolute;left:12px;top:9px;color:var(--muted)}.asset-search input{padding-left:34px}.asset-filter-panel>small{white-space:nowrap;color:var(--muted);font-weight:800}.asset-choice{position:relative}.asset-choice em{display:block;padding:0 4px 6px;color:#9b7e84;font-size:.62rem;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clear-choice{min-height:112px;display:grid;place-content:center;text-align:center;color:var(--muted)}.clear-choice span{font-size:1.8rem}.clear-choice strong{font-size:.72rem;margin-top:4px}.photo-message{overflow:hidden}.photo-message strong,.photo-message span{display:block}.photo-message strong{font-family:Georgia,serif;color:var(--brand-dark);font-size:1.05em;margin-bottom:.3em}.photo-message.narrow{padding:3px!important;font-size:clamp(7px,.95vw,14px)}.photo-message.narrow strong{font-size:.9em}.photo-message.narrow span{font-size:.72em;line-height:1.15}.card-canvas{aspect-ratio:1.6}
@media(max-width:850px){.asset-filter-panel{grid-template-columns:1fr 1fr}.asset-filter-panel>small{grid-column:1/-1}}
@media(max-width:560px){.asset-filter-panel{grid-template-columns:1fr}.asset-filter-panel>small{grid-column:auto}.asset-choice small{font-size:.62rem}.asset-choice em{display:none}}
