:root{--color-bg:#eef1ea;--color-ink:#2b3a2e;--color-ink-soft:#2b3a2e9e;--color-line:#2b3a2e29;--color-panel:#fff9;--color-panel-float:#ffffffd1;--shadow-float:0 12px 32px #2b3a2e24;--font-display:Georgia, "Times New Roman", serif;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--topbar-h:58px;--sheet-peek:88px;--sheet-body-max:clamp(120px, calc(100dvh - var(--topbar-h) - 542px), 340px)}*,:before,:after{box-sizing:border-box}html,body{overscroll-behavior-y:contain}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);margin:0;line-height:1.55}h1,h2,h3{font-family:var(--font-display);font-weight:600}button{color:inherit;cursor:pointer;font-family:inherit}button:disabled{opacity:.45;cursor:not-allowed}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.topbar{z-index:10;height:var(--topbar-h);background:var(--color-bg);border-bottom:1px solid var(--color-line);grid-template-columns:1fr minmax(0,320px) 1fr;align-items:center;gap:.8rem;padding:0 .9rem;display:grid;position:sticky;top:0}.topbar-brand{white-space:nowrap;align-items:center;gap:.45rem;margin:0;font-size:1.15rem;display:flex}.topbar-home{color:inherit;align-items:center;gap:.45rem;text-decoration:none;display:flex}.topbar-logo{width:auto;height:34px}.topbar-guide,.topbar-app{border:1px solid var(--color-line);background:var(--color-panel);color:var(--color-ink);border-radius:10px;align-items:center;padding:.3rem .5rem;line-height:1;display:inline-flex}.topbar-guide:hover,.topbar-app:hover{background:var(--color-panel-float)}.topbar-guide svg,.topbar-app svg{stroke:currentColor;stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round;width:17px;height:17px;display:block}.topbar-ad{grid-column:2;height:50px}.topbar-right{grid-column:3;justify-self:end;align-items:center;gap:.35rem;min-width:0;display:flex}.lang-menu{cursor:pointer;border-radius:10px;align-items:center;gap:.2rem;padding:.2rem .4rem;display:inline-flex}.lang-menu:hover{background:var(--color-panel)}.lang-menu-flag{font-size:.95rem;line-height:1}.lang-menu-select{font:inherit;color:var(--color-ink);cursor:pointer;background:0 0;border:0;max-width:7rem;padding:.1rem;font-size:.85rem}.region-menu{position:relative}.region-toggle{border:1px solid var(--color-line);background:var(--color-panel);color:var(--color-ink);cursor:pointer;border-radius:10px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.95rem;line-height:1;display:inline-flex}.region-toggle:hover{background:var(--color-panel-float)}.region-flag{font-size:1rem}.region-pop{z-index:20;border:1px solid var(--color-line);background:var(--color-panel-float);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:210px;box-shadow:var(--shadow-float);border-radius:12px;flex-direction:column;gap:.6rem;padding:.75rem;display:flex;position:absolute;top:calc(100% + 6px);right:0}.region-field{flex-direction:column;gap:.25rem;display:flex}.region-label-row{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.region-label{color:var(--color-ink-soft);font-size:.72rem}.region-help{color:var(--color-ink-soft);cursor:pointer;background:0 0;border:none;padding:0;font-size:.82rem;line-height:1}.region-help:hover,.region-help[aria-expanded=true]{color:var(--color-ink)}.region-hint{background:var(--color-panel);color:var(--color-ink-soft);border-radius:8px;margin:0;padding:.3rem .4rem;font-size:.72rem;line-height:1.35}.region-select{border:1px solid var(--color-line);background:var(--color-bg);width:100%;color:var(--color-ink);font:inherit;cursor:pointer;border-radius:8px;padding:.35rem .4rem;font-size:.9rem}.region-done{border:1px solid var(--color-ink);background:var(--color-ink);width:100%;color:var(--color-bg);cursor:pointer;font:inherit;border-radius:999px;margin-top:.1rem;padding:.4rem;font-size:.85rem}.region-done:hover{opacity:.9}.topbar-daily{text-align:left;background:0 0;border:0;border-radius:10px;grid-column:3;justify-self:end;align-items:center;gap:.5rem;min-width:0;padding:.3rem .55rem;display:flex}button.topbar-daily:hover:not(:disabled){background:var(--color-panel)}.topbar.topbar-daily-only{grid-template-columns:auto minmax(0,1fr) auto}.topbar-daily-static{cursor:default;grid-column:2;justify-self:start;max-width:100%}button.topbar-daily-static{cursor:pointer}.topbar-daily .flower-swatch{width:20px;height:20px}.daily-text{flex-direction:column;min-width:0;line-height:1.3;display:flex}.daily-text small{letter-spacing:.05em;color:var(--color-ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.66rem;overflow:hidden}.daily-line{font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;overflow:hidden}.daily-overlay{z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2b3a2e70;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.daily-pop{background:var(--color-bg);width:min(320px,100%);box-shadow:var(--shadow-float);text-align:center;border-radius:20px;flex-direction:column;align-items:center;gap:.45rem;padding:1.4rem 1.2rem 1.2rem;display:flex;position:relative}.daily-pop-eyebrow{letter-spacing:.05em;color:var(--color-ink-soft);font-size:.72rem}.daily-pop-art{place-items:center;height:168px;display:grid}.daily-pop-art img{object-fit:contain;max-width:180px;max-height:168px}.daily-pop-art .flower-swatch{width:96px;height:96px}.daily-pop-name{font-family:var(--font-display);margin:0;font-size:1.25rem;font-weight:600}.daily-pop-meaning{font-family:var(--font-display);color:var(--color-ink-soft);margin:0;font-size:.95rem}.daily-pop-add{background:var(--color-ink);color:var(--color-bg);font-family:var(--font-display);border:none;border-radius:999px;margin-top:.5rem;padding:.62rem 1.4rem;font-size:.95rem}.daily-pop-add:disabled{opacity:.45}.daily-pop-guide{color:var(--color-ink-soft);text-underline-offset:3px;font-size:.82rem;text-decoration:underline}.site-footer{text-align:center;background:var(--color-panel);border-top:1px solid var(--color-line);color:var(--color-ink-soft);padding:.55rem 1rem;font-size:.8rem}.site-footer p{margin:0}.site-footer .footer-links{flex-wrap:wrap;justify-content:center;gap:.15rem .9rem;margin-bottom:.2rem;display:flex}.site-footer .footer-links a{color:inherit;text-decoration:none}.site-footer .footer-links a:hover{text-decoration:underline}.order-hud{flex-direction:column;align-items:center;gap:.25rem;min-width:0;display:flex}.order-scroll{min-width:0;max-width:100%;position:relative}.order-scroll:before,.order-scroll:after{width:40px;font-family:var(--font-display);color:var(--color-ink-soft);opacity:0;pointer-events:none;align-items:center;font-size:1.05rem;transition:opacity .2s;display:flex;position:absolute;top:0;bottom:0}.order-scroll:before{content:"‹";background:linear-gradient(to right, var(--color-bg) 20%, transparent);justify-content:flex-start;padding-left:2px;left:0}.order-scroll:after{content:"›";background:linear-gradient(to left, var(--color-bg) 20%, transparent);justify-content:flex-end;padding-right:2px;right:0}.order-scroll.can-left:before,.order-scroll.can-right:after{opacity:1}.order-list{flex-wrap:wrap;justify-content:center;gap:.4rem;display:flex}.order-chip{border:1px solid var(--color-line);background:var(--color-panel-float);white-space:nowrap;border-radius:999px;padding:.32rem .85rem;font-size:.85rem}.order-chip.selected{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-bg)}.order-requirement{color:var(--color-ink-soft);text-align:center;margin:0;font-size:.76rem}.order-met{border:1px solid var(--color-line);color:var(--color-ink-soft);white-space:nowrap;border-radius:999px;margin-left:.4rem;padding:.02rem .45rem;font-size:.7rem;display:inline-block}.order-met.ok{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-bg)}.studio{height:calc(100vh - var(--topbar-h));height:calc(100dvh - var(--topbar-h));--studio-edge:1.2rem;--studio-panel:clamp(232px, 26vw, 328px);--studio-gap:1.3rem;position:relative;overflow:hidden}.hud-top{z-index:3;pointer-events:none;justify-content:center;padding:.85rem 1.2rem 0;display:flex;position:absolute;top:0;left:0;right:0}.hud-top>*{pointer-events:auto}.stage-center{inset:96px calc(var(--studio-edge) + var(--studio-panel) + var(--studio-gap)) 100px;z-index:1;place-items:center;display:grid;position:absolute}.stage-center .bouquet-canvas{width:100%;height:100%}.panel{background:var(--color-panel-float);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--color-line);box-shadow:var(--shadow-float);border-radius:16px;padding:.9rem 1rem;overflow-y:auto}.panel-left{top:96px;left:var(--studio-edge);width:var(--studio-panel);z-index:2;max-height:calc(100% - 196px);position:absolute}.panel-col-right{top:96px;bottom:100px;right:var(--studio-edge);width:var(--studio-panel);z-index:2;flex-direction:column;gap:.8rem;display:flex;position:absolute}.panel-recommend{flex:none;max-height:min(55%,320px)}.panel-right{flex:0 auto;min-height:0}.panel-label{margin:0 0 .4rem;font-size:1.2rem}.panel-label small{font-family:var(--font-body);color:var(--color-ink-soft);margin-left:.3rem;font-size:.74rem;font-weight:400}.hud-bottom{z-index:3;background:var(--color-panel-float);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--color-line);width:fit-content;max-width:calc(100% - 2.4rem);box-shadow:var(--shadow-float);border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.7rem;margin-inline:auto;padding:.5rem .7rem;display:flex;position:absolute;bottom:1rem;left:0;right:0}.stage-center>*,.stage-full>*{grid-area:1/1}.stage-center,.stage-full{grid-template:minmax(0,100%)/minmax(0,100%)}.stage-hud{z-index:2;place-self:start center;align-items:center;gap:.4rem;max-width:calc(100% - 16px);margin-top:4px;display:flex}.stage-count{border:1px solid var(--color-line);background:var(--color-panel-float);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-float);color:var(--color-ink-soft);white-space:nowrap;border-radius:999px;padding:.25rem .85rem;font-size:.85rem}.stage-order{border:1px solid var(--color-line);background:var(--color-panel-float);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-float);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;padding:.25rem .85rem;font-size:.85rem;overflow:hidden}.stage-count b{font-family:var(--font-display);color:var(--color-ink);font-size:1rem}.stage-count.is-full{color:var(--color-ink);border-color:var(--color-ink-soft)}.stage-hint{z-index:3;text-align:center;word-break:keep-all;max-width:min(90%,300px);color:var(--color-ink-soft);background:var(--color-panel-float);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--color-line);box-shadow:var(--shadow-float);pointer-events:none;border-radius:16px;place-self:end center;margin:0 8px .5rem;padding:.35rem .75rem;font-size:.78rem;line-height:1.45;animation:.5s hint-in}.stage-hint b{color:var(--color-ink);font-weight:600}.stage-full .stage-hint{margin-bottom:calc(var(--sheet-h,var(--sheet-peek)) - var(--sheet-peek) + 3.6rem);transition:margin-bottom .25s}.atelier:has(.sheet.dragging) .stage-hint{transition:none}@keyframes hint-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.stage-hint,.image-fallback,.image-loading-hint{animation:none}}.image-loading{z-index:2;border:1px solid var(--color-line);background:var(--color-panel-float);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-float);border-radius:999px;place-self:center;align-items:center;gap:.55rem;padding:.6rem 1.1rem;font-size:.9rem;display:flex}.image-loading-hint{color:var(--color-ink-soft);margin-top:.15rem;font-size:.72rem;animation:.4s 2.5s backwards hint-in;display:block}.image-fallback{z-index:3;text-align:center;word-break:keep-all;max-width:min(90%,320px);color:var(--color-ink-soft);background:var(--color-panel-float);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--color-line);box-shadow:var(--shadow-float);pointer-events:none;border-radius:16px;place-self:end center;margin:0 8px .5rem;padding:.45rem .85rem;font-size:.78rem;line-height:1.45;animation:.5s hint-in}.image-fallback small{margin-top:.1rem;font-size:.72rem;display:block}.studio .image-fallback{margin-bottom:3.9rem}.stage-full .image-fallback{margin-bottom:calc(var(--sheet-h,var(--sheet-peek)) - var(--sheet-peek) + 7rem);transition:margin-bottom .25s}.atelier:has(.sheet.dragging) .image-fallback{transition:none}.spinner{border:2px solid var(--color-line);border-top-color:var(--color-ink);border-radius:50%;flex:none;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.recommend-block{flex-direction:column;align-items:center;gap:.3rem;display:flex}.palette-chips{scrollbar-width:none;gap:.35rem;max-width:100%;display:flex;overflow-x:auto}.palette-chips::-webkit-scrollbar{display:none}.palette-chip{border:1px solid var(--color-line);background:var(--color-panel-float);border-radius:999px;flex:none;padding:.22rem .7rem;font-size:.78rem}.palette-chip.on{background:var(--color-ink);color:var(--color-bg);border-color:var(--color-ink)}.recommend-strip{scrollbar-width:none;gap:.5rem;max-width:100%;padding:2px;display:flex;overflow-x:auto}.recommend-strip::-webkit-scrollbar{display:none}.rec-card{border:1px solid var(--color-line);background:var(--color-panel-float);width:86px;box-shadow:var(--shadow-float);border-radius:12px;flex-direction:column;flex:none;align-items:stretch;gap:.2rem;padding:.35rem .35rem .4rem;display:flex}.rec-card.selected{border-color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-ink), var(--shadow-float)}.rec-thumb{display:block}.rec-thumb .bouquet-canvas{border:none;border-radius:8px;width:100%;height:auto}.rec-name{text-align:center;white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;line-height:1.25;overflow:hidden}.recommend-pane .recommend-strip{flex-wrap:wrap;justify-content:center;overflow-x:visible}.recommend-pane .palette-chips{flex-wrap:wrap;justify-content:center}.atelier{height:calc(100vh - var(--topbar-h));height:calc(100dvh - var(--topbar-h));position:relative;overflow:hidden}.stage-full{z-index:1;padding:12px 10px calc(var(--sheet-peek) + 14px);place-items:center;display:grid;position:absolute;inset:0}.stage-full .bouquet-canvas{background:radial-gradient(60% 46% at 50% 46%,#ffffffbf,#ffffff47 60%,#0000 82%);border:none;width:120%;height:100%}.sheet-body .order-hud{align-items:flex-start}.sheet-body .order-list{justify-content:flex-start}.sheet-body .order-requirement{text-align:left}.fab-complete{right:.9rem;bottom:calc(var(--sheet-h,calc(var(--sheet-peek) + var(--sheet-body-max))) + 14px);z-index:4;background:var(--color-ink);color:var(--color-bg);font-family:var(--font-display);box-shadow:var(--shadow-float);border:none;border-radius:999px;padding:.8rem 1.3rem;font-size:1rem;transition:bottom .25s;position:absolute}.fab-reset{left:.9rem;bottom:calc(var(--sheet-h,calc(var(--sheet-peek) + var(--sheet-body-max))) + 14px);z-index:4;border:1px solid var(--color-line);background:var(--color-panel-float);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:var(--font-display);box-shadow:var(--shadow-float);border-radius:999px;padding:.8rem 1.3rem;font-size:1rem;transition:bottom .25s;position:absolute}.fab-gift{left:50%;bottom:calc(var(--sheet-h,calc(var(--sheet-peek) + var(--sheet-body-max))) + 14px + 3.2rem);z-index:4;background:var(--color-ink);max-width:calc(100vw - 1.8rem);color:var(--color-bg);font-family:var(--font-display);white-space:nowrap;box-shadow:var(--shadow-float);border:none;border-radius:999px;padding:.5rem 1rem;font-size:.88rem;transition:bottom .25s;animation:.4s gift-rise,.4s 2s forwards gift-fade;position:absolute;transform:translate(-50%)}.studio .fab-gift{bottom:96px}.fab-gift-icon{right:.9rem;bottom:calc(var(--sheet-h,calc(var(--sheet-peek) + var(--sheet-body-max))) + 14px + 3.2rem);z-index:4;background:var(--color-ink);width:2.5rem;height:2.5rem;color:var(--color-bg);box-shadow:var(--shadow-float);border:none;border-radius:999px;padding:0;font-size:1.15rem;line-height:1;transition:bottom .25s;animation:.3s gift-icon-in;position:absolute}.studio .fab-gift-icon{bottom:50%;left:calc(100% + .7rem);right:auto;transform:translateY(50%)}@keyframes gift-rise{0%{opacity:0;transform:translate(-50%,8px)}}@keyframes gift-fade{to{opacity:0;visibility:hidden;transform:translate(-50%,4px)}}@keyframes gift-icon-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.fab-gift,.fab-gift-icon{animation:none}}.sheet{z-index:5;background:var(--color-panel-float);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--color-line);border-radius:18px 18px 0 0;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -12px 32px #2b3a2e24}.sheet-header,.sheet-header button{touch-action:none}.sheet-handle{background:0 0;border:none;place-items:center;width:100%;padding:.75rem 0 .5rem;display:grid}.grab{background:var(--color-line);border-radius:4px;width:42px;height:4px}.sheet-tabs{gap:.4rem;padding:.15rem .8rem .6rem;display:flex}.sheet-tab{border:1px solid var(--color-line);background:0 0;border-radius:999px;flex:1;padding:.42rem 0;font-size:.88rem}.sheet-tab.on{background:var(--color-ink);color:var(--color-bg);border-color:var(--color-ink)}.sheet-body{max-height:var(--sheet-body-max);overscroll-behavior:contain;padding:0 1rem 1rem;transition:max-height .25s,padding-bottom .25s;overflow-y:auto}.sheet.closed .sheet-body{max-height:0;padding-bottom:0;overflow:hidden}.sheet.dragging .sheet-body,:is(.atelier:has(.sheet.dragging) .stage-full,.atelier:has(.sheet.dragging) .fab-complete,.atelier:has(.sheet.dragging) .fab-reset,.atelier:has(.sheet.dragging) .fab-gift,.atelier:has(.sheet.dragging) .fab-gift-icon){transition:none}.picker-header{z-index:2;background:var(--color-panel-float);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:space-between;align-items:baseline;margin:0 -1rem;padding:.2rem 1rem .3rem;display:flex;position:sticky;top:0}.panel .picker-header{margin-top:-.9rem;padding-top:.9rem;top:-.9rem}.picker-header h2{margin:.2rem 0 .3rem;font-size:1.2rem}.stem-count{color:var(--color-ink-soft);font-size:.85rem}.flower-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.flower-card{border:1px solid var(--color-line);background:var(--color-panel);border-radius:10px;align-items:stretch;display:flex;overflow:hidden}.flower-card.is-selected{border-color:var(--color-ink-soft)}.variant-dots{flex:none;align-items:center;gap:.35rem;padding:0 .5rem 0 .15rem;display:flex}.variant-dot{border:1px solid var(--color-line);border-radius:50%;width:20px;height:20px;padding:0;position:relative}.variant-dot.on{box-shadow:0 0 0 2px var(--color-bg), 0 0 0 3.5px var(--color-ink-soft)}.dot-count{background:var(--color-ink);min-width:.95rem;height:.95rem;color:var(--color-bg);border-radius:999px;justify-content:center;align-items:center;padding:0 .15rem;font-size:.62rem;font-weight:600;display:inline-flex;position:absolute;top:-5px;right:-7px}.flower-add{text-align:left;min-width:0;min-height:44px;font-size:inherit;background:0 0;border:none;flex:1;align-items:center;gap:.6rem;padding:.45rem .6rem;display:flex}.flower-count{background:var(--color-ink);min-width:1.5rem;height:1.5rem;color:var(--color-bg);border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0 .3rem;font-size:.85rem;display:inline-flex}.flower-plus{border:1px solid var(--color-line);width:1.5rem;height:1.5rem;color:var(--color-ink-soft);border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:1.05rem;line-height:1;display:inline-flex}.flower-remove{border:none;border-left:1px solid var(--color-line);background:0 0;flex:none;width:44px;font-size:1.25rem;line-height:1}.flower-add:disabled{opacity:1}.flower-add:disabled .flower-plus{opacity:.35;border-style:dashed}.swatch{border:1px solid var(--color-line);border-radius:50%;flex:none;width:20px;height:20px}.flower-swatch{flex:none;width:22px;height:22px;display:block}.flower-swatch .fs-bg{stroke:var(--color-line);stroke-width:1px}.flower-swatch .fs-art{fill:none;stroke-width:1.3px;stroke-linejoin:round;stroke-linecap:round}.flower-swatch .fs-art .fs-fill{fill:currentColor;stroke:none}.flower-info{flex-direction:column;flex:1;min-width:0;display:flex}.flower-name{word-break:keep-all;font-size:.9rem}.season-badge{border:1px solid var(--color-line);color:var(--color-ink-soft);vertical-align:1px;white-space:nowrap;border-radius:999px;margin-left:.3rem;padding:.05rem .35rem;font-size:.66rem;font-style:normal}.flower-meaning{color:var(--color-ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.role-section{margin-top:.7rem}.role-heading{margin:0 0 .35rem;font-size:.92rem}.role-heading small{font-family:var(--font-body);color:var(--color-ink-soft);margin-left:.3rem;font-size:.74rem;font-weight:400}.flower-grid.flower-tree{grid-template-columns:1fr}.picker-role-toggle{font:inherit;font-size:.92rem;font-weight:700;font-family:var(--font-display);background:0 0;border:none;margin:0 0 .35rem;padding:.15rem 0}.picker-role-toggle .picker-role-label{text-align:left;flex:1}.picker-role-toggle .picker-role-label small{font-family:var(--font-body);color:var(--color-ink-soft);margin-left:.3rem;font-size:.74rem;font-weight:400}.picker-role-count{background:var(--color-ink);min-width:1.35rem;height:1.35rem;color:var(--color-bg);font-size:.74rem;font-family:var(--font-body);border-radius:99px;justify-content:center;align-items:center;padding:0 .3rem;display:inline-flex}.wrap-list{flex-wrap:wrap;gap:.5rem;display:flex}.wrap-chip{border:1px solid var(--color-line);background:var(--color-panel);border-radius:99px;align-items:center;gap:.5rem;padding:.45rem .8rem;font-size:.9rem;display:flex}.wrap-chip.selected{border-color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-ink)}.wrap-chip .flower-swatch{width:20px;height:20px}.btn-complete{background:var(--color-ink);color:var(--color-bg);font-size:.98rem;font-family:var(--font-display);border:none;border-radius:999px;padding:.6rem 1.4rem}.btn-reset{border:1px solid var(--color-line);background:0 0;border-radius:999px;padding:.55rem 1rem;font-size:.9rem}.bouquet-canvas{border:1px solid var(--color-line);background:radial-gradient(75% 60% at 50% 44%,#ffffffe6,#fff6 58%,#ffffff0f 84%),#ffffff59;border-radius:16px;width:100%;height:auto}.final-image{border:1px solid var(--color-line);max-width:100%;max-height:100%;box-shadow:var(--shadow-float);border-radius:16px;animation:.45s photo-fade-in}@keyframes photo-fade-in{0%{opacity:0;transform:scale(.985)}}.stage-preset-photo{border:1px solid var(--color-line);max-width:100%;max-height:100%;box-shadow:var(--shadow-float);object-fit:contain;border-radius:16px;animation:.45s photo-fade-in}@keyframes stage-reveal{0%{opacity:.35;transform:scale(.965)}to{opacity:1;transform:scale(1)}}.stage-complete .bouquet-canvas{animation:.55s stage-reveal}.stage-complete.is-crossfading .bouquet-canvas{animation:.45s forwards photo-cross-out}@keyframes photo-cross-out{to{opacity:0}}@keyframes head-in{0%{opacity:0}}.bouquet-canvas .head-in{animation:.35s head-in}.canvas-placeholder{fill:var(--color-ink-soft);font-family:var(--font-display);letter-spacing:-.01em;font-size:24px}.photo-head{filter:drop-shadow(0 3px 4px #2b3a2e47)}.wrap-cone-photo{filter:drop-shadow(0 4px 6px #2b3a2e29)}.wrap-front{filter:drop-shadow(0 4px 5px #2b3a2e24)}.wrap-back{filter:drop-shadow(0 2px 3px #2b3a2e14)}.wrap-spread{filter:drop-shadow(0 3px 4px #2b3a2e1a)}.stem-label{font-family:var(--font-body);fill:var(--color-ink-soft);stroke:var(--color-bg);stroke-width:2.5px;paint-order:stroke;font-size:10px}@media (prefers-reduced-motion:reduce){.stage-complete .bouquet-canvas,.stage-complete.is-crossfading .bouquet-canvas,.final-image,.bouquet-canvas .head-in{animation:none}}.results-pane{flex-direction:column;gap:.9rem;display:flex}.results-empty{color:var(--color-ink-soft);margin:.2rem 0;font-size:.9rem}.summary-heading{margin:0 0 .45rem;font-size:1.02rem}.summary-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.summary-list li{align-items:center;gap:.45rem;min-width:0;font-size:.88rem;display:flex}.summary-list .swatch{width:14px;height:14px}.summary-name{white-space:nowrap;flex:none}.summary-name b{font-family:var(--font-display);font-weight:600}.summary-meaning{min-width:0;color:var(--color-ink-soft);white-space:nowrap;text-overflow:ellipsis;text-align:right;flex:1;font-size:.76rem;overflow:hidden}.summary-wrap{color:var(--color-ink-soft);margin:.55rem 0 0;font-size:.82rem}.phrase-loading{color:var(--color-ink-soft);align-items:center;gap:.55rem;margin:0;font-size:.86rem;display:flex}.phrase-error{color:var(--color-ink-soft);border-left:3px solid var(--color-line);background:#ffffff80;margin:0;padding:.55rem .8rem;font-size:.86rem}.phrase-message{border-left:3px solid var(--color-ink);font-family:var(--font-display);background:#ffffff8c;margin:0;padding:.8rem 1rem;font-size:1.05rem;font-style:italic;line-height:1.7}.phrase-message:before{content:"“";height:.3em;color:var(--color-ink-soft);font-size:1.9em;line-height:1;display:block}.phrase-analysis-heading{margin:.9rem 0 .3rem;font-size:.92rem}.phrase-analysis{margin:0;font-size:.88rem}.btn-gift{border:1px solid var(--color-ink);color:var(--color-ink);font-family:var(--font-display);cursor:pointer;background:0 0;border-radius:999px;align-self:flex-start;margin-top:.2rem;padding:.55rem 1.15rem;font-size:.95rem}.gift-overlay{z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2b3a2e70;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.gift-sheet{background:var(--color-bg);width:min(420px,100%);max-height:calc(100dvh - 2rem);box-shadow:var(--shadow-float);border-radius:20px;flex-direction:column;gap:.9rem;padding:1.2rem;display:flex;position:relative;overflow-y:auto}.gift-close{background:var(--color-panel);width:2rem;height:2rem;color:var(--color-ink);cursor:pointer;border:none;border-radius:999px;font-size:1.25rem;line-height:1;position:absolute;top:.55rem;right:.7rem}.gift-card{border:1px solid var(--color-line);text-align:center;background:#ffffff80;border-radius:16px;flex-direction:column;gap:.7rem;padding:1.1rem;display:flex}.gift-card-art{background:radial-gradient(circle at 84% 16%, var(--card-accent,transparent) 0 44px, transparent 45px), radial-gradient(circle at 10% 84%, var(--card-accent,transparent) 0 30px, transparent 31px), linear-gradient(180deg, var(--card-art-top,transparent), var(--card-art-bottom,transparent));border-radius:12px;overflow:hidden}.gift-card-art img,.gift-card-art .bouquet-canvas{width:100%;height:auto;display:block}.gift-card-art img{object-fit:contain}.gift-card-photo{animation:.45s photo-fade-in}@media (prefers-reduced-motion:reduce){.gift-card-photo{animation:none}}.gift-card-top{text-align:left;align-items:center;gap:.45rem;display:flex}.gift-card-top img{flex:none;width:24px;height:24px}.gift-card-meaning{letter-spacing:.02em;color:var(--color-ink-soft);min-width:0;margin:0;font-size:.82rem}.gift-card-text{background:var(--card-text-bg,transparent);border-radius:12px;flex-direction:column;gap:.55rem;padding:.7rem .8rem;display:flex}.gift-card-message{font-family:var(--font-display);color:var(--color-ink);margin:0;font-size:1.05rem;font-style:italic;line-height:1.7}.gift-card-custom{color:var(--color-ink);white-space:pre-line;margin:0;font-size:.92rem}.gift-card-footer{border:0;border-top:1px solid var(--color-line);width:100%;margin:.3rem 0 0}.gift-input{color:var(--color-ink-soft);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.gift-input textarea{border:1px solid var(--color-line);font-family:var(--font-body);color:var(--color-ink);resize:vertical;background:#ffffffb3;border-radius:10px;padding:.55rem .7rem;font-size:.95rem}.gift-actions{gap:.6rem;display:flex}.gift-actions .btn-complete,.gift-actions .btn-reset{cursor:pointer;flex:1}.gift-actions .btn-complete:disabled,.gift-actions .btn-reset:disabled{opacity:.6}.gift-actions .btn-reset.is-copied{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-bg);transition:background .15s,color .15s}.gift-toast{text-align:center;color:var(--color-ink-soft);margin:0;font-size:.84rem}@media (width<=1279.98px){.topbar-brand-name{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.daily-line.daily-fit-sm{font-size:.78rem}.daily-line.daily-fit-xs{font-size:.7rem}.gift-sheet{gap:.7rem;width:min(400px,90%);padding:1rem}.gift-card{gap:.55rem;padding:.9rem}.gift-card-art img{width:auto;max-width:100%;max-height:46dvh;margin-inline:auto}.sheet-body .flower-grid{grid-template-columns:1fr}}@media (width>=600px) and (width<=1279.98px){.flower-name{font-size:1.06rem}.flower-meaning{font-size:.84rem}.flower-add{gap:.7rem;min-height:56px;padding:.7rem .8rem}.flower-swatch{width:27px;height:27px}.flower-count{min-width:1.7rem;height:1.7rem;font-size:.95rem}.flower-plus{width:1.7rem;height:1.7rem;font-size:1.2rem}.variant-dot{width:23px;height:23px}.variant-dots{gap:.4rem}.picker-header h2{font-size:1.35rem}.stem-count{font-size:.95rem}.role-heading{font-size:1.04rem}.sheet-tab{padding:.52rem 0;font-size:1rem}}.card-page{flex-direction:column;align-items:center;gap:1.2rem;max-width:460px;margin:0 auto;padding:2rem 1rem 3rem;display:flex}.card-page .gift-card{width:100%}.card-cta{cursor:pointer;text-align:center;text-decoration:none}.admin{max-width:560px;margin:0 auto;padding:2rem 1.2rem 4rem}.admin h1{margin:0 0 .3rem;font-size:1.6rem}.admin-note{color:var(--color-ink-soft);margin:0 0 1.4rem;font-size:.88rem}.admin-note a{color:inherit}.admin-card{background:var(--color-panel-float);border:1px solid var(--color-line);box-shadow:var(--shadow-float);border-radius:14px;margin-bottom:.9rem;padding:1rem 1.1rem}.admin-card header{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.admin-card h2{margin:0;font-size:1.05rem}.admin-card p{margin:.5rem 0;font-size:.9rem}.admin-token{flex-direction:column;gap:.35rem;margin-bottom:.7rem;font-size:.85rem;display:flex}.admin input{font:inherit;color:inherit;border:1px solid var(--color-line);background:#ffffffbf;border-radius:8px;padding:.45rem .6rem}.admin button{border:1px solid var(--color-line);background:#ffffffb3;border-radius:99px;padding:.4rem 1rem;font-size:.88rem}.admin-toggle.on{background:var(--color-ink);color:var(--color-bg);border-color:var(--color-ink)}.admin-limit{align-items:center;gap:.6rem;font-size:.85rem;display:flex}.admin-limit input{width:6.5rem}.admin-save{margin-top:.2rem}.admin-error{color:#8a4a3d;font-size:.88rem}.admin-date{color:var(--color-ink-soft);margin:0 0 .7rem;font-size:.82rem}.admin-tabs{gap:.5rem;margin-bottom:1.1rem;display:flex}.admin-tab{border:1px solid var(--color-line);background:#ffffffb3;border-radius:99px;padding:.4rem 1.1rem;font-size:.9rem}.admin-tab.active{background:var(--color-ink);color:var(--color-bg);border-color:var(--color-ink)}.ai-placeholder{color:var(--color-ink-soft);font-size:.9rem}.shop-form{gap:.8rem;margin-top:.9rem;display:grid}.shop-field{flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.shop-field input{width:100%}.shop-preview{color:var(--color-ink-soft);font-size:.78rem}.shop-preview code,.shop-slug code{color:var(--color-ink)}.cred-card{border-color:var(--color-ink);border-width:1.5px}.cred-box{border:1px dashed var(--color-line);background:#2b3a2e0f;border-radius:10px;flex-wrap:wrap;align-items:center;gap:.6rem;margin:.7rem 0;padding:.7rem .9rem;display:flex}.cred-box code{letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.25rem;font-weight:600}.cred-box button{border:1px solid var(--color-line);background:#fffc;border-radius:99px;margin-left:auto;padding:.3rem .9rem;font-size:.8rem}.cred-warn{color:#8a4a3d;font-weight:600}.shop-list{gap:.6rem;margin-top:.9rem;display:grid}.shop-row{border:1px solid var(--color-line);background:#ffffff8c;border-radius:12px;flex-wrap:wrap;align-items:center;gap:.8rem;padding:.75rem .9rem;display:flex}.shop-row.hidden{opacity:.72}.shop-main{flex:1;min-width:8rem}.shop-name{font-family:var(--font-display);font-size:1.02rem}.shop-slug{color:var(--color-ink-soft);font-size:.8rem}.shop-orders{color:var(--color-ink-soft);white-space:nowrap;font-size:.82rem}.shop-badge{border:1px solid var(--color-line);white-space:nowrap;border-radius:99px;padding:.15rem .6rem;font-size:.75rem}.shop-badge.active{background:var(--color-ink);color:var(--color-bg);border-color:var(--color-ink)}.shop-actions{flex-wrap:wrap;gap:.4rem;display:flex}.shop-actions button{border:1px solid var(--color-line);background:#fffc;border-radius:99px;padding:.3rem .8rem;font-size:.8rem}.owner-auth{justify-content:center;align-items:center;min-height:100dvh;padding:2rem 1.2rem 4rem;display:flex}.owner-auth-card{background:var(--color-panel-float);border:1px solid var(--color-line);width:100%;max-width:380px;box-shadow:var(--shadow-float);border-radius:16px;padding:1.8rem 1.5rem 1.6rem}.owner-brand{letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-soft);margin:0 0 .15rem;font-size:.82rem}.owner-auth-card h1{margin:0 0 .4rem;font-size:1.5rem}.owner-auth-sub{color:var(--color-ink-soft);margin:0 0 1.4rem;font-size:.9rem}.owner-field{flex-direction:column;gap:.35rem;margin-bottom:.9rem;font-size:.85rem;display:flex}.owner-field input{font:inherit;color:inherit;border:1px solid var(--color-line);background:#ffffffc7;border-radius:9px;padding:.55rem .7rem}.owner-primary{border:1px solid var(--color-ink);background:var(--color-ink);width:100%;color:var(--color-bg);border-radius:99px;margin-top:.4rem;padding:.6rem 1rem;font-size:.95rem}.owner-error{color:#8a4a3d;margin:0 0 .9rem;font-size:.85rem}.owner-hint{color:var(--color-ink-soft);margin:0 0 1.2rem;font-size:.82rem}.owner-meta{color:var(--color-ink-soft);text-align:center;margin:1.2rem 0 0;font-size:.78rem}.owner-shell{max-width:640px;margin:0 auto;padding:1.6rem 1.2rem 4rem}.owner-topbar{justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:1.1rem;display:flex}.owner-topbar h1{margin:0;font-size:1.5rem}.owner-ghost{border:1px solid var(--color-line);white-space:nowrap;background:#ffffffb3;border-radius:99px;padding:.4rem 1rem;font-size:.88rem}.owner-tabs{flex-wrap:wrap;gap:.4rem;margin-bottom:1.1rem;display:flex}.owner-tab{border:1px solid var(--color-line);background:#ffffffb3;border-radius:99px;padding:.4rem 1rem;font-size:.9rem}.owner-tab.active{background:var(--color-ink);color:var(--color-bg);border-color:var(--color-ink)}.stock-intro{color:var(--color-ink-soft);margin:0 0 .8rem;font-size:.85rem}.stock-search{border:1px solid var(--color-line);width:100%;font:inherit;color:inherit;background:#ffffffbf;border-radius:9px;margin-bottom:1rem;padding:.5rem .7rem}.role-block{margin-bottom:1.3rem}.role-title{margin:0 0 .5rem;font-size:1.02rem}.role-title small{font-family:var(--font-body);color:var(--color-ink-soft);margin-left:.35rem;font-size:.76rem;font-weight:400}.species-group{border:1px solid var(--color-line);background:var(--color-panel-float);border-radius:12px;margin-bottom:.6rem;overflow:hidden}.species-head{border-bottom:1px solid var(--color-line);background:#2b3a2e0d;align-items:center;gap:.5rem;padding:.5rem .8rem;display:flex}.species-head .dot{border:1px solid var(--color-line);border-radius:50%;flex:none;width:18px;height:18px}.species-head span{font-family:var(--font-display);font-size:1rem}.species-head small{color:var(--color-ink-soft);margin-left:auto;font-size:.76rem}.tree-toggle{width:100%;color:inherit;text-align:left;cursor:pointer;appearance:none;align-items:center;gap:.4rem;font-family:inherit;display:flex}.role-title.tree-toggle{font-family:var(--font-display);background:0 0;border:none;padding:.1rem 0;font-size:1.02rem;font-weight:700}.species-head.tree-toggle{border-top:none;border-left:none;border-right:none}.caret{color:var(--color-ink-soft);flex:none;font-size:.7rem;transition:transform .12s}.caret.collapsed{transform:rotate(-90deg)}.tree-label{flex:1}.role-title .tree-count{font-family:var(--font-body);color:var(--color-ink-soft);margin-left:auto;font-size:.74rem;font-weight:400}.sp-tracked{color:var(--color-ink);background:#2b3a2e1a;border-radius:99px;margin-left:.1rem;padding:.03rem .4rem;font-size:.68rem;font-style:normal}.stock-row{border-top:1px solid var(--color-line);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.55rem .8rem;display:flex}.stock-row:first-of-type{border-top:none}.stock-row.untracked{opacity:.6}.track-toggle{border:1px solid var(--color-line);white-space:nowrap;cursor:pointer;background:#ffffffb3;border-radius:99px;align-items:center;gap:.35rem;padding:.2rem .6rem;font-size:.78rem;display:inline-flex}.track-toggle input{accent-color:var(--color-ink)}.stock-flower{flex:1;align-items:center;gap:.45rem;min-width:7rem;font-size:.9rem;display:flex}.stock-flower .dot{border:1px solid var(--color-line);border-radius:50%;flex:none;width:16px;height:16px}.stock-flower .so{color:#8a4a3d;background:#8a4a3d14;border:1px solid #b98;border-radius:99px;padding:.02rem .38rem;font-size:.66rem;font-style:normal}.stock-field{color:var(--color-ink-soft);align-items:center;gap:.3rem;font-size:.78rem;display:inline-flex}.stock-field input{border:1px solid var(--color-line);width:4.3rem;font:inherit;color:var(--color-ink);background:#fffc;border-radius:8px;padding:.35rem .45rem;font-size:.88rem}.stock-field input:disabled{background:#ffffff4d}.save-hint{color:var(--color-ink-soft);margin-top:1rem;font-size:.78rem}.add-flower-btn{width:100%;color:var(--color-ink);cursor:pointer;background:#ffffff80;border:1px dashed #2b3a2e57;border-radius:11px;justify-content:center;align-items:center;gap:.4rem;margin-bottom:1.1rem;padding:.7rem;font-size:.92rem;display:flex}.add-flower-btn small{color:var(--color-ink-soft)}.stock-add-card{border:1px solid var(--color-line);background:var(--color-panel-float);box-shadow:var(--shadow-float);border-radius:14px;margin-bottom:1.1rem;padding:1rem}.stock-add-card h3{margin:0 0 .2rem;font-size:1.05rem}.stock-add-card .add-sub{color:var(--color-ink-soft);margin:0 0 .9rem;font-size:.78rem}.add-field{flex-direction:column;gap:.3rem;margin-bottom:.85rem;font-size:.85rem;display:flex}.add-field>input[type=text],.add-field>input[type=number]{border:1px solid var(--color-line);font:inherit;color:inherit;background:#ffffffd9;border-radius:9px;padding:.5rem .65rem}.add-field small{color:var(--color-ink-soft);font-size:.73rem}.add-two{gap:.7rem;display:flex}.add-two .add-field{flex:1;min-width:0}.add-two .add-field>input[type=number]{width:100%;min-width:0}.add-swatches{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.add-swatch{width:30px;height:30px;box-shadow:0 0 0 1px var(--color-line);cursor:pointer;border:2px solid #0000;border-radius:50%;padding:0}.add-swatch.on{border-color:var(--color-ink)}.add-color{border:1px solid var(--color-line);cursor:pointer;background:0 0;border-radius:8px;width:34px;height:34px;padding:0}.role-seg{gap:.4rem;display:flex}.role-seg button{border:1px solid var(--color-line);font:inherit;color:inherit;cursor:pointer;background:#ffffffb3;border-radius:9px;flex:1;padding:.45rem;font-size:.86rem}.role-seg button.on{background:var(--color-ink);color:var(--color-bg);border-color:var(--color-ink)}.add-note{color:var(--color-ink-soft);background:#7850a012;border:1px solid #7850a033;border-radius:9px;margin:.2rem 0 .9rem;padding:.5rem .6rem;font-size:.73rem}.add-actions{justify-content:flex-end;gap:.5rem;display:flex}.custom-badge{color:#5a3d7a;background:#7850a021;border:1px solid #7850a04d;border-radius:99px;margin-left:.35rem;padding:.03rem .42rem;font-size:.66rem;font-style:normal}.species-group.custom-flower .species-head small{margin-left:0}.row-edit,.row-remove{border:1px solid var(--color-line);cursor:pointer;background:#ffffffb3;border-radius:8px;padding:.3rem .55rem;font-size:.76rem}.row-remove{color:#8a4a3d}.stock-toolbar{align-items:center;gap:.5rem;display:flex}.stock-toolbar .stock-search{flex:1;min-width:0}.order-edit-btn{border:1px solid var(--color-line);font:inherit;color:var(--color-ink);white-space:nowrap;cursor:pointer;background:#ffffffb3;border-radius:9px;padding:.5rem .7rem;font-size:.84rem}.sort-scope-tabs{margin:.8rem 0 .5rem}.sort-note{color:var(--color-ink-soft);margin:0 0 .9rem;font-size:.78rem}.sort-role-group{border:1px solid var(--color-line);background:#ffffff8c;border-radius:12px;margin-bottom:.8rem;overflow:hidden}.sort-role-title{border-bottom:1px solid var(--color-line);background:#2b3a2e0d;margin:0;padding:.5rem .8rem;font-size:.85rem}.sort-empty{color:var(--color-ink-soft);margin:0;padding:.7rem .8rem;font-size:.78rem}.sort-row{border-top:1px solid var(--color-line);background:#fff6;align-items:center;gap:.55rem;min-height:44px;padding:.3rem .6rem;display:flex}.sort-row:first-of-type,.sort-role-title+.sort-row{border-top:none}.sort-row.dragging{opacity:.5;outline-offset:-1.5px;outline:1.5px dashed #2b3a2e73}.sort-row .dot{border:1px solid var(--color-line);border-radius:50%;flex:none;width:16px;height:16px}.sort-handle{touch-action:none;cursor:grab;color:var(--color-ink-soft);background:0 0;border:none;border-radius:8px;flex:none;width:2.2rem;height:2.2rem;font-size:1.05rem}.sort-handle:active{cursor:grabbing;background:#2b3a2e14}.sort-name{flex:1;align-items:center;gap:.3rem;min-width:0;font-size:.9rem;display:flex}.sort-name small{color:var(--color-ink-soft);font-size:.72rem}.sort-arrows{gap:.3rem;display:inline-flex}.sort-arrows button{border:1px solid var(--color-line);width:1.9rem;height:1.9rem;color:var(--color-ink);cursor:pointer;background:#fffc;border-radius:50%;font-size:.7rem}.tab-badge{color:#fff;text-align:center;vertical-align:1px;background:#8a4a3d;border-radius:99px;min-width:1.1rem;height:1.1rem;margin-left:.3rem;padding:0 .3rem;font-size:.68rem;line-height:1.1rem;display:inline-block}.status-filter{flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem;display:flex}.status-chip{border:1px solid var(--color-line);background:#ffffffb3;border-radius:99px;padding:.3rem .8rem;font-size:.82rem}.status-chip.on{background:var(--color-ink);color:var(--color-bg);border-color:var(--color-ink)}.owner-order-list{gap:.5rem;display:grid}.order-row{border:1px solid var(--color-line);background:var(--color-panel-float);text-align:left;border-radius:12px;flex-wrap:wrap;align-items:center;gap:.7rem;width:100%;padding:.7rem .9rem;display:flex}.order-row.sel{border-color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-ink)}.order-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600}.order-row .who{flex:1;min-width:7rem;font-size:.9rem}.order-row .who small{color:var(--color-ink-soft);font-size:.76rem;display:block}.order-sum{white-space:nowrap;font-size:.86rem}.badge{border:1px solid var(--color-line);white-space:nowrap;border-radius:99px;padding:.15rem .6rem;font-size:.74rem}.badge.placed{color:#fff;background:#8a4a3d;border-color:#8a4a3d}.badge.accepted{background:var(--color-ink);color:var(--color-bg);border-color:var(--color-ink)}.badge.done{background:#2b3a2e1a}.badge.canceled{opacity:.6}.order-detail{border:1px solid var(--color-ink);background:var(--color-panel-float);border-radius:14px;margin-top:1rem;padding:1rem 1.1rem}.detail-head{justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.7rem;display:flex}.detail-head h2{margin:0;font-size:1.1rem}.detail-grid{gap:.9rem;display:grid}@media (width>=600px){.detail-grid{grid-template-columns:150px 1fr}}.detail-photo-img,.detail-photo-svg{aspect-ratio:3/4;object-fit:cover;background:#f2efe6;border-radius:10px;justify-content:center;align-items:center;width:100%;max-width:150px;display:flex}.detail-body h3{color:var(--color-ink-soft);font-size:.82rem;font-family:var(--font-body);margin:.5rem 0 .2rem;font-weight:600}.detail-body .phrase{background:#2b3a2e0d;border-radius:8px;margin:.2rem 0;padding:.5rem .7rem;font-size:.92rem;font-style:italic}.compose{flex-wrap:wrap;gap:.15rem .6rem;margin:.2rem 0;font-size:.86rem;display:flex}.compose .dot{border:1px solid var(--color-line);vertical-align:-1px;border-radius:50%;width:11px;height:11px;margin-right:.25rem;display:inline-block}.contact{font-size:.86rem}.contact div{margin:.1rem 0}.photo-note{color:var(--color-ink-soft);text-align:center;margin:.3rem 0 0;font-size:.72rem}.state-actions{border-top:1px solid var(--color-line);flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding-top:.9rem;display:flex}.act{border:1px solid var(--color-line);background:#fffc;border-radius:99px;padding:.45rem 1.1rem;font-size:.88rem}.act.primary{background:var(--color-ink);color:var(--color-bg);border-color:var(--color-ink)}.act.danger{color:#8a4a3d;border-color:#c88}.cancel-box{background:#8a4a3d0d;border:1px solid #c88;border-radius:10px;margin-top:.9rem;padding:.8rem}.cancel-box label{margin-bottom:.4rem;font-size:.84rem;display:block}.cancel-box input{width:100%;font:inherit;border:1px solid var(--color-line);background:#fff;border-radius:8px;padding:.5rem .6rem}.cancel-box .row{gap:.5rem;margin-top:.6rem;display:flex}.stock-photo{border:1px solid var(--color-line);cursor:pointer;background:#fffc;border-radius:8px;padding:.3rem .45rem;font-size:.95rem;line-height:1}.row-between{justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.7rem;display:flex}.btn-primary{border:1px solid var(--color-ink);background:var(--color-ink);color:var(--color-bg);border-radius:99px;padding:.45rem 1.1rem;font-size:.9rem}.btn-ghost{border:1px solid var(--color-line);background:#fffc;border-radius:99px;padding:.4rem 1rem;font-size:.85rem}.sec-title{margin:1.2rem 0 .5rem;font-size:1.05rem}.sec-title small{font-family:var(--font-body);color:var(--color-ink-soft);margin-left:.35rem;font-size:.76rem;font-weight:400}.preset-list{gap:.6rem;display:grid}.preset-card{border:1px solid var(--color-line);background:var(--color-panel-float);border-radius:14px;align-items:center;gap:.8rem;padding:.7rem .8rem;display:flex}.preset-card.hidden{opacity:.6}.p-thumb{background:#f2efe6;border-radius:10px;flex:none;justify-content:center;align-items:center;width:60px;height:60px;display:flex;overflow:hidden}.p-thumb img{object-fit:cover;width:100%;height:100%}.p-main{flex:1;min-width:0}.p-name{font-family:var(--font-display);font-size:1.02rem}.p-mix{color:var(--color-ink-soft);flex-wrap:wrap;gap:.1rem .4rem;font-size:.78rem;display:flex}.p-mix .dot{border:1px solid var(--color-line);vertical-align:-1px;border-radius:50%;width:10px;height:10px;margin-right:.2rem;display:inline-block}.p-price{margin-top:.1rem;font-size:.9rem}.p-price .fixed{color:var(--color-ink)}.p-actions{flex-wrap:wrap;gap:.35rem;display:flex}.p-actions button{border:1px solid var(--color-line);background:#fffc;border-radius:99px;padding:.3rem .7rem;font-size:.78rem}.editor{gap:1rem;display:grid}@media (width>=700px){.editor{grid-template-columns:1fr 1fr;align-items:start}.editor.editor-single{grid-template-columns:1fr}}.editor-single .stage-preview{max-width:320px;margin-left:auto;margin-right:auto}.ed-card{border:1px solid var(--color-line);background:var(--color-panel-float);border-radius:14px;padding:.9rem 1rem}.ed-card h3{margin:0 0 .6rem;font-size:.95rem}.stage-preview{aspect-ratio:1;background:var(--color-panel);border:1px solid var(--color-line);border-radius:12px;justify-content:center;align-items:center;margin-bottom:.7rem;display:flex;overflow:hidden}.stage-preview img{object-fit:cover;width:100%;height:100%}.ed-card .field{flex-direction:column;gap:.3rem;margin-bottom:.7rem;font-size:.85rem;display:flex}.ed-card .field input{border:1px solid var(--color-line);font:inherit;color:inherit;background:#ffffffd9;border-radius:9px;padding:.5rem .65rem}.ed-card .field small{color:var(--color-ink-soft);font-size:.74rem}.photo-up{align-items:center;gap:.7rem;display:flex}.photo-prev{border:1px dashed var(--color-line);width:64px;height:64px;color:var(--color-ink-soft);background:#fff9;border-radius:10px;flex:none;justify-content:center;align-items:center;font-size:1.4rem;display:flex}.up-note{color:var(--color-ink-soft);margin-top:.5rem;font-size:.72rem}.ed-name-card{margin-bottom:1rem}.ed-name-card .field{font-size:.9rem}.ed-name-card .field input{padding:.6rem .75rem;font-size:.98rem}.preview-note{color:var(--color-ink-soft);margin:-.35rem 0 .8rem;font-size:.74rem}.mini-picker{overscroll-behavior:contain;gap:.4rem;max-height:44vh;padding-right:.15rem;display:grid;overflow-y:auto}.mini-card{border:1px solid var(--color-line);background:var(--color-panel);border-radius:10px;align-items:center;gap:.5rem;padding:.4rem .55rem;display:flex}.mini-card .dot{border:1px solid var(--color-line);border-radius:50%;flex:none;width:18px;height:18px}.mini-info{flex:1;min-width:0}.mini-name{font-size:.85rem}.mini-price{color:var(--color-ink-soft);font-size:.72rem}.mini-count{background:var(--color-ink);min-width:1.4rem;height:1.4rem;color:var(--color-bg);border-radius:99px;justify-content:center;align-items:center;font-size:.78rem;display:inline-flex}.mini-plus{border:1px solid var(--color-line);width:1.4rem;height:1.4rem;color:var(--color-ink-soft);border-radius:99px;justify-content:center;align-items:center;display:inline-flex}.mini-step{align-items:center;gap:.25rem;display:flex}.mini-step button{border:1px solid var(--color-line);background:#fffc;border-radius:99px;width:1.6rem;height:1.6rem}.preset-tree-role{gap:.4rem;display:grid}.preset-role-title{font-size:.82rem;font-family:var(--font-display);color:var(--color-ink-soft);margin:.35rem 0 0}.preset-species{border:1px solid var(--color-line);background:#ffffff73;border-radius:10px;overflow:hidden}.preset-species .species-head{width:100%}.preset-species .mini-card{border:none;border-top:1px solid var(--color-line);border-radius:0}.preset-species .mini-card:first-of-type{border-top:none}.preset-tree .mini-name .custom-badge{vertical-align:1px}.ed-sub{font-size:.9rem;font-family:var(--font-display);margin:.9rem 0 .45rem}.wrap-chips{flex-wrap:wrap;gap:.4rem;display:flex}.wchip{border:1px solid var(--color-line);background:var(--color-panel);border-radius:99px;align-items:center;gap:.4rem;padding:.4rem .8rem;font-size:.85rem;display:inline-flex}.wchip.on{border-color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-ink)}.wchip .wdot{border:1px solid var(--color-line);border-radius:50%;width:16px;height:16px}.wchip small{color:var(--color-ink-soft);font-size:.75rem}.ov-row{border:1px solid var(--color-line);background:var(--color-panel-float);border-radius:12px;margin-bottom:.6rem;padding:.7rem .8rem}.ov-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.ov-name{font-family:var(--font-display);font-size:1rem}.ov-controls{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.5rem;font-size:.82rem;display:flex}.ov-controls label{align-items:center;gap:.3rem;display:inline-flex}.ov-controls input[type=number]{border:1px solid var(--color-line);width:5.5rem;font:inherit;background:#fff;border-radius:8px;padding:.35rem .45rem}.toggle{border:1px solid var(--color-line);background:#ffffffb3;border-radius:99px;align-items:center;gap:.3rem;padding:.2rem .6rem;display:inline-flex}.range{gap:.4rem;margin-bottom:1rem;display:flex}.range button{border:1px solid var(--color-line);background:#ffffffb3;border-radius:99px;padding:.3rem .8rem;font-size:.82rem}.range button.on{background:var(--color-ink);color:var(--color-bg);border-color:var(--color-ink)}.kpis{grid-template-columns:repeat(2,1fr);gap:.6rem;margin-bottom:1.2rem;display:grid}@media (width>=600px){.kpis{grid-template-columns:repeat(4,1fr)}}.kpi{border:1px solid var(--color-line);background:var(--color-panel-float);border-radius:12px;padding:.7rem .8rem}.kpi b{font-family:var(--font-display);font-size:1.3rem;display:block}.kpi small{color:var(--color-ink-soft);font-size:.76rem}.card{border:1px solid var(--color-line);background:var(--color-panel-float);border-radius:14px;margin-bottom:1rem;padding:1rem 1.1rem}.card h2{margin:0 0 .2rem;font-size:1.05rem}.card .hint{color:var(--color-ink-soft);margin:0 0 .7rem;font-size:.76rem}.chart{width:100%;height:auto;display:block}.stat-chips{flex-wrap:wrap;gap:.5rem;display:flex}.stat-chip{border:1px solid var(--color-line);background:var(--color-panel);border-radius:99px;padding:.3rem .8rem;font-size:.85rem}.stat-chip b{font-family:var(--font-display)}.top-row{align-items:center;gap:.6rem;margin:.4rem 0;display:flex}.top-name{flex:none;align-items:center;gap:.35rem;width:6.5rem;font-size:.85rem;display:flex}.top-name .dot{border:1px solid var(--color-line);border-radius:50%;flex:none;width:13px;height:13px}.top-bar{background:#2b3a2e0f;border-radius:99px;flex:1;height:14px;overflow:hidden}.top-fill{background:var(--color-ink);border-radius:99px;height:100%;display:block}.top-n{text-align:right;width:2rem;color:var(--color-ink-soft);font-size:.85rem}.flower-price{color:var(--color-ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.soldout-badge{color:#8a4a3d;vertical-align:1px;white-space:nowrap;background:#8a4a3d14;border:1px solid #b98;border-radius:999px;margin-left:.35rem;padding:.05rem .4rem;font-size:.66rem;font-style:normal}.flower-card.soldout{opacity:.66}.variant-dot.soldout{opacity:.4}.variant-dot .dot-x{color:#3a2b2b;justify-content:center;align-items:center;font-size:.85rem;font-style:normal;display:flex;position:absolute;inset:0}.wrap-price{color:var(--color-ink-soft);margin-left:.1rem;font-size:.8rem}.shop-recs{flex-direction:column;gap:.5rem;display:flex}.rec-card.shop-rec{text-align:left;border:1px solid var(--color-line);background:var(--color-panel);border-radius:12px;flex-direction:row;justify-content:space-between;align-items:center;gap:.7rem;width:100%;padding:.6rem .75rem;display:flex}.rec-card.shop-rec.selected{border-color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-ink)}.shop-rec-name{min-width:0;color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:600;overflow:hidden}.shop-rec-right{flex:none;align-items:center;gap:.55rem;display:flex}.shop-rec-icon .flower-swatch{width:34px;height:34px}.shop-rec-pricebox{flex-direction:column;align-items:flex-end;line-height:1.2;display:flex}.shop-rec-price{font-size:.95rem;font-weight:700}.shop-rec-pricebox small{color:var(--color-ink-soft);font-size:.72rem}.shop-total-bar{z-index:20;background:var(--color-panel-float);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--color-line);position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #2b3a2e1a}.shop-total-inner{align-items:center;gap:.8rem;max-width:1100px;margin:0 auto;padding:.7rem 1.4rem;display:flex}.shop-total-sum b{font-family:var(--font-display);font-size:1.3rem}.shop-total-sum small{color:var(--color-ink-soft);font-size:.74rem;display:block}.stage-total{background:var(--color-panel-float);border:1px solid var(--color-line);border-radius:999px;padding:.15rem .7rem;font-size:.82rem}.stage-total b{font-family:var(--font-display)}.shop-status{text-align:center;max-width:560px;margin:0 auto;padding:4rem 1.4rem}.shop-status h1{margin:0 0 .5rem;font-size:1.6rem}.shop-status a{color:var(--color-ink)}.shop-total-inner .cta-pay{border:1px solid var(--color-ink);background:var(--color-ink);color:var(--color-bg);font-size:1rem;font-family:var(--font-display);white-space:nowrap;border-radius:999px;padding:.6rem 1.6rem}.shop-total-inner .cta-pay:disabled{opacity:.4}.backdrop{z-index:60;background:#2b3a2e47;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}@media (width>=600px){.backdrop{align-items:center;padding:2rem 1rem}}.order-modal{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--color-line);background:#fffffff0;border-radius:18px 18px 0 0;width:100%;max-width:440px;max-height:94vh;padding:1.3rem 1.3rem 1.6rem;overflow:auto;box-shadow:0 18px 48px #2b3a2e38}@media (width>=600px){.order-modal{border-radius:18px}}.order-head{justify-content:space-between;align-items:center;margin-bottom:.9rem;display:flex}.order-head h1{margin:0;font-size:1.35rem}.order-close{color:var(--color-ink-soft);background:0 0;border:none;font-size:1.4rem;line-height:1}.order-modal .summary{border:1px solid var(--color-line);background:var(--color-panel);border-radius:12px;margin-bottom:1rem;padding:.8rem}.summary-items{flex-wrap:wrap;gap:.15rem .6rem;margin:0 0 .3rem;padding:0;font-size:.85rem;list-style:none;display:flex}.summary-items li{align-items:center;gap:.3rem;display:inline-flex}.summary-items .dot{border:1px solid var(--color-line);border-radius:50%;width:11px;height:11px}.summary-total b{font-family:var(--font-display);font-size:1.15rem}.order-modal .field{flex-direction:column;gap:.3rem;margin-bottom:.8rem;font-size:.85rem;display:flex}.order-modal .field input,.order-modal .field textarea{font:inherit;color:inherit;border:1px solid var(--color-line);background:#ffffffd9;border-radius:9px;padding:.55rem .7rem}.order-modal .field small{color:var(--color-ink-soft);font-size:.74rem}.order-submit{border:1px solid var(--color-ink);background:var(--color-ink);width:100%;color:var(--color-bg);font-size:1rem;font-family:var(--font-display);border-radius:99px;margin-top:.3rem;padding:.7rem 1rem}.pay-note{color:var(--color-ink-soft);text-align:center;margin:.7rem 0 0;font-size:.78rem}.order-error{background:#8a4a3d12;border:1px solid #c88;border-radius:10px;margin-bottom:1rem;padding:.7rem .9rem;font-size:.85rem}.order-error p{color:#8a4a3d;margin:0 0 .3rem}.order-error ul{margin:.2rem 0;padding-left:1.1rem}.order-error .retry{border:1px solid var(--color-line);background:#fffc;border-radius:99px;margin-top:.5rem;padding:.35rem .9rem;font-size:.82rem}.order-done{text-align:center;padding:1rem .5rem}.done-check{background:var(--color-ink);width:52px;height:52px;color:var(--color-bg);border-radius:50%;justify-content:center;align-items:center;margin:0 auto .7rem;font-size:1.5rem;display:flex}.order-done h1{margin:0 0 .5rem;font-size:1.3rem}.done-code{letter-spacing:.06em;border:1px dashed var(--color-line);background:#2b3a2e0d;border-radius:10px;margin:.3rem 0 .7rem;padding:.5rem 1rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.5rem;font-weight:600;display:inline-block}.order-done p{color:var(--color-ink-soft);margin:.3rem 0;font-size:.86rem}
