:root{--ink:#23201e;--muted:#6f6760;--paper:#fff9f2;--surface:#fff;--line:#ded4c8;--rose:#cf5268;--leaf:#386b58;--gold:#d99a2b;--blue:#5e79b7;--shadow:0 18px 50px #3a2a1e1f;--hand:"Bradley Hand", "Segoe Print", "Comic Sans MS", cursive}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:linear-gradient(90deg,#78563609 1px,#0000 1px) 0 0/34px 34px,linear-gradient(#78563606 1px,#0000 1px) 0 0/34px 34px,linear-gradient(#fffaf1 0%,#f3faf4 48%,#fffaf6 100%);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit}button,input,textarea{font:inherit}button{cursor:pointer}.site-header{justify-content:space-between;align-items:center;gap:24px;min-height:72px;padding:16px clamp(18px,4vw,56px);display:flex}.brand{color:var(--ink);letter-spacing:0;align-items:center;gap:8px;font-weight:800;text-decoration:none;display:flex}.brand-icon{pointer-events:none;flex-shrink:0}.site-header nav{flex-wrap:wrap;justify-content:flex-end;gap:14px;display:flex}.site-header nav a{color:var(--muted);font-size:.94rem;text-decoration:none}.site-header nav a:hover{color:var(--leaf)}.maker-shell{max-width:1240px;margin:0 auto;padding:24px clamp(18px,4vw,56px) 64px}.maker-copy{max-width:840px}.eyebrow,.section-kicker{color:var(--leaf);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:.78rem;font-weight:800}h1,h2,h3,p{letter-spacing:0}h1{max-width:780px;margin:0;font-size:clamp(2.25rem,6vw,4.5rem);line-height:.98}.hero-copy{color:var(--muted);max-width:680px;margin:20px 0 0;font-size:1.08rem;line-height:1.65}.primary-action,.secondary-action,.text-action{border-radius:8px;min-height:42px;transition:background .15s,border-color .15s,transform .15s}.maker-workspace{grid-template-columns:minmax(320px,.92fr) minmax(320px,1.08fr);align-items:start;gap:24px;margin-top:34px;display:grid}.preview-column,.editor-panel{min-width:0}.preview-column{position:sticky;top:18px}.bouquet-card{box-shadow:var(--shadow);background:radial-gradient(circle at 20% 15%,#cf52681f,#0000 34%),radial-gradient(circle at 84% 20%,#5e79b721,#0000 32%),linear-gradient(#fffcf6f5,#fff8efeb);border:1px solid #9a7c582e;border-radius:8px;min-height:560px;padding:26px;overflow:hidden}.bouquet-art{aspect-ratio:1;max-width:430px;margin:0 auto;position:relative}.foliage-base{z-index:1;position:absolute;inset:0}.foliage-image{object-fit:contain;width:92%;height:84%;display:block;position:absolute;bottom:-3%;left:50%;transform:translate(-50%)}.preview-flower{height:var(--flower-size);left:var(--flower-x);top:var(--flower-y);transform:rotate(var(--flower-rotate));transform-origin:50% 100%;width:var(--flower-size);background:0 0;border:0;padding:0;position:absolute}.preview-flower img{filter:drop-shadow(0 5px 5px #41362b14);object-fit:contain;pointer-events:none;z-index:2;width:100%;height:100%;display:block;position:relative}.preview-flower:hover{transform:translateY(-3px) rotate(var(--flower-rotate))}.bouquet-shadow{z-index:1;background:radial-gradient(#386b5829,#0000 68%);width:58%;height:18%;position:absolute;bottom:12%;left:50%;transform:translate(-50%)}.card-message{font-family:var(--hand);text-align:center;background:linear-gradient(90deg,#d5a47524 1px,#0000 1px) 0 0/22px 22px,linear-gradient(#fffdf7,#fff8ea);border:1px solid #eadbc9;border-radius:8px;max-width:430px;margin:18px auto 0;padding:18px;font-size:1.06rem;box-shadow:inset 0 0 0 1px #ffffff9e}.card-message p{margin:0;line-height:1.5}.to-line,.from-line{color:var(--muted);font-size:.9rem;font-weight:700}.action-row{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.layout-action{color:var(--ink);cursor:pointer;background:#ffffffc7;border:1px solid #9a7c583d;border-radius:8px;justify-content:center;width:100%;min-height:40px;margin-top:12px;padding:10px 16px;font-weight:800;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.layout-action:hover{background:#fff;border-color:#9a7c586b;transform:translateY(-1px)}.inline-error{color:#9f3343;margin:10px 0 0;font-size:.9rem;line-height:1.45}.primary-action,.secondary-action{border:1px solid #0000;justify-content:center;align-items:center;min-height:42px;padding:0 16px;font-weight:800;text-decoration:none;display:inline-flex}.primary-action{background:var(--rose);color:#fff}.secondary-action{border-color:var(--line);color:var(--ink);background:#fff}.gift-shell{max-width:980px;margin:0 auto;padding:18px clamp(18px,4vw,56px) 76px}.gift-copy{text-align:center;max-width:720px;margin:0 auto 28px}.gift-copy h1{margin:0 auto}.gift-copy .hero-copy{margin-inline:auto}.gift-stage{box-shadow:var(--shadow);background:radial-gradient(circle at 50% 14%,#cf52681f,#0000 35%),linear-gradient(#ffffffb3,#f6fbf7e0);border:1px solid #ded4c8db;border-radius:8px;max-width:620px;margin:0 auto;padding:clamp(14px,3vw,26px)}.gift-stage .bouquet-card{box-shadow:none;background:#fffcf6d6;margin:0 auto}.gift-card-toggle{color:inherit;text-align:left;background:0 0;border:0;gap:8px;width:100%;max-width:430px;margin:16px auto 0;padding:0;display:grid}.gift-card-label{color:var(--leaf);letter-spacing:.08em;text-align:center;text-transform:uppercase;font-size:.82rem;font-weight:900}.gift-card-paper{font-family:var(--hand);transform-origin:50% 0;background:linear-gradient(135deg,#cf526829,#0000 34%),linear-gradient(90deg,#d5a47521 1px,#0000 1px) 0 0/24px 24px,linear-gradient(#fffdf8,#fff4dd);border:1px solid #e7d0b3;border-radius:8px;gap:8px;min-height:82px;padding:16px 18px;transition:min-height .18s,transform .18s;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffffad,0 14px 30px #553b231a}.gift-card-paper:after{content:"";background:#cf52689e;border-radius:999px;width:30px;height:30px;position:absolute;top:16px;right:18px;transform:rotate(-12deg)}.gift-card-open .gift-card-paper{min-height:150px;transform:rotate(-.8deg)}.gift-card-message{color:#2d2520;max-width:32ch;font-size:1.14rem;line-height:1.55}.gift-actions{grid-template-columns:1fr 1fr;gap:10px;max-width:430px;margin:16px auto 0;display:grid}.editor-panel{background:linear-gradient(#ffffffd6,#fff8eeb8);border:1px solid #9a7c5833;border-radius:8px;padding:22px;box-shadow:0 14px 36px #41312214}.card-composer{background:linear-gradient(90deg,#cf526814 1px,#0000 1px) 0 0/26px 26px,linear-gradient(#fffdf8,#fff7e7);border:1px solid #ead8bf;border-radius:8px;margin-bottom:22px;padding:18px;position:relative;box-shadow:inset 0 0 0 1px #ffffffb8,0 10px 26px #4b342214}.card-composer:before{content:"";background:#d98c9c;border-radius:999px;width:10px;height:10px;position:absolute;top:18px;left:18px}.card-composer-title{color:var(--leaf);letter-spacing:.08em;text-transform:uppercase;margin:0 0 16px 20px;font-size:.78rem;font-weight:900}.card-line,.card-message-field{color:#7d6d5e;font-family:var(--hand);font-size:1rem;font-weight:700}.card-line{grid-template-columns:auto minmax(0,1fr);align-items:end;gap:10px;display:grid}.card-line-end{margin-top:12px}.card-input,.card-textarea{color:#2d2520;font-family:var(--hand);background:0 0;border:0;border-bottom:1px solid #9a7c5847;border-radius:0;min-height:38px;padding:4px 2px 6px;font-size:1.16rem}.card-textarea{resize:vertical;background:repeating-linear-gradient(#0000 0 31px,#9a7c582e 32px);border:0;min-height:116px;margin-top:6px;line-height:32px}.card-input:focus,.card-textarea:focus{outline-offset:3px;outline:3px solid #cf526829}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}label{color:var(--muted);gap:8px;font-size:.86rem;font-weight:800;display:grid}input,textarea{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;width:100%;min-height:44px;padding:12px 13px}.base-toolbar{margin:22px 0 12px}.base-toolbar h2{margin:0 0 10px;font-size:1.05rem}.base-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.base-button{border:1px solid var(--line);color:var(--ink);text-align:left;background:#ffffffc2;border-radius:8px;gap:8px;min-height:150px;padding:10px;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid}.base-button:hover,.base-button-active{border-color:#386b5885;transform:translateY(-1px);box-shadow:0 8px 20px #386b581c}.base-thumb{background:#fffaf0;border:1px solid #ded4c8d1;border-radius:8px;justify-content:center;align-items:center;height:74px;display:flex;overflow:hidden}.base-thumb img{object-fit:contain;width:100%;height:88px;display:block}.base-button strong,.base-button small{display:block}.base-button small{color:var(--muted);margin-top:3px;font-size:.78rem;line-height:1.3}textarea{resize:vertical;min-height:96px;margin-top:14px;line-height:1.5}input:focus,textarea:focus,button:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #5e79b73d}.flower-toolbar{justify-content:space-between;align-items:center;gap:16px;margin:22px 0 12px;display:flex}.flower-toolbar h2{margin:0;font-size:1.1rem}.text-action{border:1px solid var(--line);color:var(--leaf);background:0 0;padding:0 12px;font-size:.9rem;font-weight:800}.flower-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.flower-button{border:1px solid var(--line);color:var(--ink);text-align:left;background:#fff;border-radius:8px;grid-template-columns:58px minmax(0,1fr);align-items:start;gap:12px;min-height:104px;padding:12px;display:grid}.flower-button:hover{border-color:var(--flower-accent);transform:translateY(-1px)}.flower-button strong,.flower-button small{display:block}.flower-button small{color:var(--muted);margin-top:4px;line-height:1.35}.flower-thumb{background:radial-gradient(circle at 50% 35%, #fffffff2, transparent 58%), color-mix(in srgb, var(--flower-accent) 13%, #fff);border:1px solid color-mix(in srgb, var(--flower-accent) 35%, var(--line));border-radius:8px;justify-content:center;align-items:center;width:58px;height:58px;display:flex;overflow:hidden}.flower-thumb img{object-fit:contain;width:56px;height:56px;display:block}.content-band{padding:72px clamp(18px,4vw,56px)}.alt-band{background:#f5fbf7;border-block:1px solid #386b581f}.content-grid{grid-template-columns:minmax(220px,.7fr) minmax(320px,1.3fr);gap:34px;max-width:1120px;margin:0 auto;display:grid}.content-grid h2,.narrow-content h2,.article-shell h1{margin:0;font-size:clamp(1.9rem,4vw,3rem);line-height:1.1}.rich-copy p,.narrow-content p,.article-shell p{color:var(--muted);font-size:1rem;line-height:1.8}.rich-copy p:first-child,.narrow-content p:first-of-type{margin-top:0}.narrow-content,.article-shell{max-width:980px;margin:0 auto}.meaning-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:26px;display:grid}.meaning-item{border:1px solid var(--line);background:#ffffffd1;border-radius:8px;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:12px;min-height:118px;padding:12px;display:grid}.meaning-item img{aspect-ratio:1;object-fit:contain;width:72px}.meaning-item h3,.meaning-item h2{margin:0 0 4px;font-size:1rem}.meaning-item p{color:var(--muted);margin:0;font-size:.9rem;line-height:1.45}.how-to-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:26px;display:grid}.how-to-item{border:1px solid var(--line);background:#ffffffd1;border-radius:8px;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:16px;display:grid}.how-to-item>span{color:var(--leaf);background:#eff7f1;border:1px solid #386b582e;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;font-weight:900;display:inline-flex}.how-to-item h3{margin:0 0 6px;font-size:1rem}.how-to-item p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.5}.faq-list{gap:14px;margin-top:26px;display:grid}.faq-item{border:1px solid var(--line);background:#ffffffd1;border-radius:8px;padding:18px}.faq-item h3{margin:0 0 8px;font-size:1.06rem}.faq-item p{margin:0}.article-page{padding:44px clamp(18px,4vw,56px) 80px}.article-shell{border:1px solid var(--line);background:#ffffffb8;border-radius:8px;padding:clamp(24px,5vw,54px)}.article-shell h1{margin-bottom:22px}.article-shell h2{margin:34px 0 10px;font-size:1.45rem}.article-shell a{color:var(--leaf);font-weight:800}.article-meanings{grid-template-columns:1fr 1fr}.site-footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:24px clamp(18px,4vw,56px);display:flex}.site-footer p{margin:0}.site-footer a{color:var(--leaf);font-weight:800}@media (max-width:900px){.maker-workspace,.content-grid,.meaning-list,.article-meanings,.how-to-list{grid-template-columns:1fr}.preview-column{position:static}.bouquet-card{min-height:auto}}@media (max-width:620px){.site-header{flex-direction:column;align-items:flex-start}.site-header nav{justify-content:flex-start}.maker-shell{padding-top:8px}.field-grid,.base-grid,.flower-grid,.action-row,.gift-actions{grid-template-columns:1fr}.bouquet-card,.editor-panel,.article-shell{padding:16px}.flower-button{min-height:74px}}
