:root{--bg:#faf6ef;--bg-soft:#f4ecdf;--ink:#4a3f38;--ink-soft:#8a7a6f;--accent:#c96e7e;--accent-dark:#a94f60;--card:#ffffff;--border:#e9dfcf;--radius:18px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6}.serif,h1,h2,h3{font-family:Georgia,Times New Roman,serif;font-weight:600;line-height:1.25}.wrap{max-width:980px;margin:0 auto;padding:0 20px}.site-header{padding:18px 0}.site-logo{font-family:Georgia,serif;font-size:22px;color:var(--ink);text-decoration:none;letter-spacing:.5px}.site-logo em{color:var(--accent);font-style:normal}.hero{text-align:center;padding:16px 0 6px}.hero h1{font-size:clamp(30px,6vw,46px)}.hero h1 em{color:var(--accent);font-style:italic}.hero p{margin:10px auto 0;max-width:540px;color:var(--ink-soft);font-size:clamp(15px,2.5vw,18px)}.generator{display:flex;flex-direction:column;gap:18px;margin:22px 0 10px}.gen-side{display:contents}.gen-card{display:flex;flex-direction:column;gap:10px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;order:1}.gen-label{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--ink-soft);margin-top:8px}.gen-label:first-child{margin-top:0}.gen-input-row{display:flex;gap:10px}.gen-input{flex:1 1;min-width:0;font-size:20px;padding:13px 16px;border:2px solid var(--border);border-radius:12px;background:var(--bg);color:var(--ink);text-transform:uppercase;letter-spacing:2px;font-family:Georgia,serif}.gen-input:focus{outline:none;border-color:var(--accent)}.gen-sample{border:1px solid var(--border);background:var(--bg-soft);color:var(--ink-soft);border-radius:12px;padding:0 14px;font-size:13px;cursor:pointer;white-space:nowrap}.gen-sample:hover{color:var(--accent-dark);border-color:var(--accent)}.gen-wraps{display:flex;gap:8px;flex-wrap:wrap}.gen-wrap{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:2px solid var(--border);border-radius:999px;background:var(--card);font-size:14px;color:var(--ink);cursor:pointer}.gen-wrap.is-active{border-color:var(--accent);color:var(--accent-dark);font-weight:600}.gen-wrap-dot{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.12)}.gen-preview{order:2;background:linear-gradient(180deg,#fdfaf4,#f6ecdc);border:1px solid var(--border);border-radius:var(--radius);padding:12px;display:flex;justify-content:center}.gen-preview svg{width:100%;max-width:430px;height:auto;aspect-ratio:600/760;display:block}.gen-count{order:3;text-align:center;color:var(--ink-soft);font-size:14px}.gen-actions{order:4;display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.gen-hint{order:5}@media (min-width:880px){.generator{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);grid-gap:28px;gap:28px;align-items:center;margin:26px 0 10px}.gen-side{display:flex;flex-direction:column;gap:14px;order:0}.gen-card{order:0}.gen-preview{order:1;position:-webkit-sticky;position:sticky;top:16px;padding:18px}.gen-preview svg{max-width:500px;margin:0 auto;aspect-ratio:600/760}}.btn{border:none;border-radius:999px;padding:15px 28px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .1s ease}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.6;cursor:wait}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dark)}.btn-ghost{background:transparent;border:2px solid var(--border);color:var(--ink)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent-dark)}.gen-hint{text-align:center;font-size:13px;color:var(--ink-soft);min-height:20px}.section{padding:48px 0 8px}.section>h2{text-align:center;font-size:clamp(24px,4.5vw,32px);margin-bottom:8px}.section>.section-sub{text-align:center;color:var(--ink-soft);max-width:560px;margin:0 auto 28px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:12px;gap:12px}.flower-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 12px 16px;text-align:center}.flower-card svg{width:64px;height:88px;display:block;margin:0 auto 6px}.flower-card .fc-letter{font-family:Georgia,serif;font-size:13px;color:var(--accent);font-weight:700}.flower-card .fc-name{font-family:Georgia,serif;font-size:17px}.flower-card .fc-meaning{font-size:12.5px;color:var(--ink-soft);margin-top:3px;line-height:1.45}.steps{display:grid;grid-gap:14px;gap:14px;grid-template-columns:1fr}@media (min-width:700px){.steps{grid-template-columns:repeat(3,1fr)}}.step{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.step .step-num{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;font-size:14px;margin-bottom:10px}.step h3{font-size:18px;margin-bottom:6px}.step p{font-size:14px;color:var(--ink-soft)}.faq{max-width:680px;margin:0 auto}.faq details{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px 18px;margin-bottom:10px}.faq summary{font-weight:600;cursor:pointer;font-family:Georgia,serif;font-size:16px}.faq p{margin-top:10px;font-size:14.5px}.faq p,.site-footer{color:var(--ink-soft)}.site-footer{margin-top:60px;padding:26px 0 34px;border-top:1px solid var(--border);text-align:center;font-size:13.5px}.site-footer a{color:var(--accent-dark);text-decoration:none}.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 26px;margin-bottom:14px}.footer-nav a{color:var(--ink);font-weight:500}.footer-nav a:hover{color:var(--accent-dark)}.footer-tag{margin-bottom:6px}.page-head{text-align:center;padding:26px 0 8px}.page-head h1{font-size:clamp(28px,5vw,40px)}.page-sub{margin:10px auto 0;max-width:560px;color:var(--ink-soft);font-size:clamp(15px,2.5vw,18px)}.page-updated{margin-top:12px;font-size:13px;color:var(--ink-soft)}.page-body{max-width:720px;margin:22px auto 0;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:28px clamp(18px,4vw,36px) 32px}.page-body h2{font-size:20px;margin:26px 0 8px}.page-body h2:first-child{margin-top:0}.page-body p,.page-body ul{font-size:15.5px;color:var(--ink);margin-bottom:12px}.page-body ul{padding-left:22px}.page-body li{margin-bottom:8px}.page-body a{color:var(--accent-dark)}.page-back{text-align:center;margin:24px 0 8px}.page-back a{color:var(--accent-dark);text-decoration:none;font-size:15px}.page-back a:hover{text-decoration:underline}.contact-email{text-align:center;font-size:20px!important;margin:18px 0!important}.prose-block{max-width:720px;margin:0 auto 30px}.prose-block p{margin-bottom:14px;font-size:15.5px;color:var(--ink);line-height:1.75}