#bouquet{min-height:calc(100vh - 66px);padding:42px 4vw 70px;max-width:1700px;margin:auto}.bouquet-heading{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:end;margin-bottom:28px}.bouquet-heading .eyebrow{grid-column:1/-1;margin:0}.bouquet-heading h1{font:500 clamp(48px,6vw,82px)/.95 var(--serif);margin:0}.bouquet-heading>p:last-child{max-width:560px;color:var(--muted);margin:0 0 8px}.bouquet-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(460px,1fr) minmax(270px,350px);gap:18px;align-items:start}.bouquet-library,.bouquet-meaning{background:#e8e8de;border:1px solid var(--line);height:min(730px,calc(100vh - 145px));min-height:590px}.bouquet-library{display:flex;flex-direction:column}.bouquet-search{display:flex;align-items:center;gap:8px;padding:13px;border-bottom:1px solid var(--line);font-size:22px}.bouquet-search input{min-width:0;width:100%;border:0;background:transparent;font-size:14px;color:var(--ink)}.bouquet-library-meta{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;font-size:12px;color:var(--muted)}.bouquet-library-meta button{border:0;background:transparent;text-decoration:underline;color:var(--ink)}.bouquet-palette{padding:8px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.bouquet-palette button{position:relative;border:1px solid #b8bdae;background:#f4f1e8;padding:0 0 7px;text-align:left;color:var(--ink);min-width:0}.bouquet-palette img{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:#171a15}.bouquet-palette span{font:500 15px/1.1 var(--serif);display:block;padding:7px 25px 0 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bouquet-palette small{position:absolute;right:7px;bottom:5px;font-size:19px}.bouquet-options{display:flex;gap:15px;align-items:end;margin-bottom:10px;min-height:50px}.bouquet-options label{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.bouquet-options select{display:block;margin-top:3px;border:1px solid #aeb5a4;background:#f4f1e8;padding:7px 25px 7px 8px;color:var(--ink)}.bouquet-options>span{margin-left:auto;color:var(--muted);font-size:13px}.bouquet-stage{position:relative;aspect-ratio:1/1;max-height:650px;min-height:470px;overflow:hidden;border:1px solid #aeb3a3;isolation:isolate}.bouquet-stage.bg-clair{background:linear-gradient(#f7f2e7,#dce4d4)}.bouquet-stage.bg-rose{background:linear-gradient(#ecd9d6,#f4eee4)}.bouquet-stage.bg-nuit{background:linear-gradient(#17221c,#344638)}.bouquet-items{position:absolute;inset:0;z-index:2}.bouquet-flower{position:absolute;left:var(--x);top:var(--y);z-index:var(--z);transform:translate(-50%,-50%) rotate(var(--rotate)) scale(var(--scale));width:19%;aspect-ratio:1;border:0;padding:0;border-radius:50%;background:#172019;box-shadow:0 8px 20px #0004;touch-action:none}.bouquet-flower img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;pointer-events:none}.bouquet-flower.selected{outline:3px solid #d8b45c;outline-offset:3px}.bouquet-flower-name{position:absolute;left:50%;top:-22px;transform:translateX(-50%);font-size:11px;background:#fffbeaeb;padding:2px 6px;white-space:nowrap;opacity:0}.bouquet-flower.selected .bouquet-flower-name{opacity:1}.bouquet-stem{position:absolute;z-index:-1;left:48%;top:70%;height:300%;width:5px;background:#486144;transform-origin:top;transform:rotate(calc(var(--rotate) * -1));border-radius:5px}.bouquet-wrap{position:absolute;z-index:3;left:50%;bottom:-4%;transform:translateX(-50%);width:42%;height:34%;filter:drop-shadow(0 12px 12px #0002);pointer-events:none;clip-path:polygon(8% 0,92% 0,72% 100%,28% 100%);background:#c49b6b}.bouquet-wrap.wrap-vase{clip-path:polygon(20% 0,80% 0,70% 100%,30% 100%);background:linear-gradient(90deg,#c2cbc4,#eef0e7 48%,#aebdb4);border-radius:0 0 45% 45%}.bouquet-wrap.wrap-ruban{height:22%;width:31%;clip-path:polygon(0 0,100% 0,75% 65%,100% 100%,50% 72%,0 100%,25% 65%);background:#85616d}.bouquet-wrap span{display:block;position:absolute;top:27%;left:0;right:0;height:12%;background:#805d3c66}.bouquet-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#66705f;text-align:center;z-index:1}.bouquet-empty strong{font:500 30px var(--serif)}.bouquet-empty span{font-size:14px}.bouquet-selection{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--line)}.bouquet-selection>strong{font:500 20px var(--serif);margin-right:auto}.bouquet-selection label{font-size:12px;display:flex;align-items:center;gap:5px}.bouquet-selection button{border:0;background:transparent;text-decoration:underline;font-size:13px;color:var(--ink)}.bouquet-selection #flower-remove{color:#854c45}.bouquet-actions{display:flex;align-items:center;gap:14px;margin-top:14px}.bouquet-actions>span{font-size:12px;color:var(--muted)}.bouquet-meaning{padding:26px;overflow:auto}.bouquet-meaning .eyebrow{margin-bottom:14px}.bouquet-meaning h2{font:500 31px/1.05 var(--serif);margin:0 0 22px}.bouquet-meanings article{display:grid;grid-template-columns:58px 1fr;gap:10px;padding:11px 0;border-top:1px solid var(--line)}.bouquet-meanings img{width:58px;height:58px;border-radius:50%;object-fit:cover}.bouquet-meanings strong{font:600 17px var(--serif)}.bouquet-meanings p{font-size:12px;line-height:1.4;color:var(--muted);margin:2px 0}.bouquet-meanings a{font-size:12px;text-decoration:underline}.bouquet-disclaimer,.bouquet-empty-meaning>p:last-child{font-size:13px;color:var(--muted);line-height:1.6}.sr-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media(max-width:1180px){.bouquet-layout{grid-template-columns:240px 1fr}.bouquet-meaning{grid-column:1/-1;height:auto;min-height:0}.bouquet-meanings{display:grid;grid-template-columns:repeat(3,1fr);gap:0 15px}.bouquet-library{height:650px}.bouquet-stage{min-height:520px}}
@media(max-width:760px){#bouquet{padding:30px 4vw 55px}.bouquet-heading{display:block}.bouquet-heading h1{margin-bottom:16px}.bouquet-layout{display:flex;flex-direction:column}.bouquet-workspace{display:contents}.bouquet-options{order:1;width:100%;flex-wrap:wrap}.bouquet-stage{order:2;width:100%;min-height:auto;aspect-ratio:1}.bouquet-selection{order:3;width:100%}.bouquet-actions{order:4;width:100%;flex-wrap:wrap}.bouquet-library{order:5;width:100%;height:530px;min-height:0}.bouquet-meaning{order:6;width:100%}.bouquet-palette{grid-template-columns:repeat(3,minmax(0,1fr))}.bouquet-meanings{display:block}.bouquet-flower{width:23%}.bouquet-options>span{width:100%;margin:0}.bouquet-actions .button{width:100%}}
