:root{--floralex-bg:#fbf3f7;--floralex-surface:#fff;--floralex-text:#151a2b;--floralex-text-strong:#0f1424;--floralex-text-body:#262b3d;--floralex-text-soft:#626779;--floralex-text-muted:#6a7081;--floralex-border:#dfe2ea;--floralex-border-soft:#e3e5eb;--floralex-accent:#ff1f68;--floralex-accent-soft:#ff8bae;--floralex-accent-alt:#a744ff;--floralex-shadow:rgba(35,23,31,.12);--floralex-shadow-strong:rgba(35,23,31,.18);background:var(--floralex-bg);color:var(--floralex-text);font-family:Georgia,Times New Roman,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--floralex-bg);color:var(--floralex-text);margin:0}button,input,select{font:inherit}button{cursor:pointer}svg{display:block}.scroll-sentinel{height:1px}:root{--shell-inline-gutter:1.75rem}.app-shell{background:var(--floralex-bg);min-height:100vh}.page-section{margin-inline:auto;width:min(100% - var(--shell-inline-gutter),70rem)}.top-surface{background:#fffffffa;box-shadow:0 12px 28px #23171f14,inset 0 1px #ffffffb8;padding-top:max(4.75rem,var(--app-shell-top-padding,4.75rem));position:relative}.pwa-notices{display:grid;gap:.65rem;left:calc(var(--shell-inline-gutter)/2);position:fixed;right:calc(var(--shell-inline-gutter)/2);top:.75rem;z-index:50}.pwa-toast{background:#fffffff7;border:1px solid #e3d9e2;border-radius:1rem;box-shadow:0 12px 34px #1c101c1f;color:#1f2334;display:grid;gap:.85rem;padding:.9rem 1rem}.pwa-toast-accent{border-color:var(--floralex-accent-soft)}.pwa-toast-offline{background:#fff9ecf7;border-color:#f3ce86}.pwa-toast p,.pwa-toast strong{margin:0}.pwa-toast p{color:#4d5265;line-height:1.45;margin-top:.2rem}.pwa-actions{display:flex;flex-wrap:wrap;gap:.55rem}.pwa-action{background:var(--floralex-accent);border:0;border-radius:999px;color:#fff;min-height:2.5rem;padding:0 1rem}.pwa-action.quiet{background:transparent;border:1px solid var(--floralex-accent-soft);color:var(--floralex-accent)}.floating-search-shell{left:50%;opacity:0;pointer-events:none;position:fixed;top:calc(env(safe-area-inset-top,0px) + var(--floating-search-offset, 12px) + var(--floating-search-viewport-offset, 0px));transform:translate(-50%,-.9rem);transition:top .18s ease,opacity .18s ease,transform .18s ease,visibility .18s ease;visibility:hidden;width:min(100% - var(--shell-inline-gutter),70rem);z-index:35}.floating-search-shell.visible{opacity:1;transform:translate(-50%);visibility:visible}.topbar{align-items:start;display:grid;gap:.9rem;margin-bottom:1.25rem}.topbar-main{align-items:center;display:flex;gap:.8rem;justify-content:space-between}.brand{align-items:center;color:inherit;display:inline-flex;gap:.65rem;text-decoration:none}.assistant-avatar,.banner-icon,.floating-assistant span{border-radius:50%;color:#fff;display:inline-grid;flex:0 0 auto;height:4.5rem;place-items:center;width:4.5rem}.assistant-symbol{flex:0 0 auto;height:auto;overflow:visible;width:70%}.brand-mark{display:block;flex:0 0 auto;height:2.7rem;-o-object-fit:contain;object-fit:contain;width:2.7rem}.brand-name{color:var(--floralex-accent);display:block;font-family:Lobster Two,Georgia,Times New Roman,serif;font-size:2.05rem;font-weight:700;letter-spacing:.01em;line-height:1.3}@supports ((-webkit-background-clip:text) or (background-clip:text)){.brand-name{background:linear-gradient(110deg,var(--floralex-accent),var(--floralex-accent-alt));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}}.brand-tagline{color:#5a6076;display:block;font-size:.7rem}.install-chip{align-items:center;background:linear-gradient(110deg,var(--floralex-accent),var(--floralex-accent-alt));border:0;border-radius:999px;box-shadow:inset 0 1px #ffffff47,0 10px 22px #ff1f683d;color:#fff;display:inline-flex;font-size:.92rem;font-weight:700;gap:.5rem;justify-content:center;min-height:2.55rem;padding:0 1.05rem;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.install-chip:hover{box-shadow:inset 0 1px #ffffff47,0 14px 28px #ff1f6847;filter:saturate(1.04);transform:translateY(-1px)}.install-chip:focus-visible{box-shadow:0 0 0 3px #ffffffd6,0 0 0 6px #ff1f682e,inset 0 1px #ffffff47,0 14px 28px #ff1f684d;outline:0}.install-chip-icon{flex:0 0 auto;height:.95rem;-o-object-fit:contain;object-fit:contain;width:.95rem}.search-box{--search-glass-border:hsla(0,0%,100%,.62);--search-glass-shadow:0 18px 42px rgba(71,49,69,.16);align-items:center;backdrop-filter:blur(22px) saturate(170%);-webkit-backdrop-filter:blur(22px) saturate(170%);background:linear-gradient(180deg,#ffffffdb,#ffffffad 52%,#ffffff94);border:1px solid var(--search-glass-border);border-radius:1.15rem;box-shadow:inset 0 1px #ffffffeb,inset 0 -1px #ffffff61,0 1px #ffffff8f,var(--search-glass-shadow);color:#72788b;display:flex;gap:.76rem;isolation:isolate;min-height:3.2rem;overflow:hidden;padding:0 1rem;position:relative;transition:transform .18s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease}.search-box:after,.search-box:before{border-radius:inherit;content:"";inset:0;pointer-events:none;position:absolute}.search-box:before{background:linear-gradient(180deg,#ffffffb8,#ffffff47 45%,#ffffff29),radial-gradient(circle at 50% 4%,hsla(0,0%,100%,.56),transparent 62%);inset:1px;opacity:.9;z-index:0}.search-box:after{background:radial-gradient(88% 115% at 50% 52%,#ffffff4d 0,#ffffff24 58%,#fff0);filter:blur(8px);inset:.32rem;opacity:.55;transition:opacity .22s ease,filter .22s ease;z-index:0}.search-box>*{position:relative;z-index:1}.search-box:hover{border-color:#ffffffbd;box-shadow:inset 0 1px #fffffff0,inset 0 -1px #ffffff6b,0 1px #ffffff8f,0 20px 42px #4731452e}.search-box:focus-within{border-color:#ffffffd6;box-shadow:inset 0 1px #fffffff5,inset 0 -1px #ffffff70,0 0 0 1px #ffffff57,0 24px 48px #47314538,0 12px 26px #ff1f681f;transform:translateY(-1px) scale(1.008)}.search-box:focus-within:after{filter:blur(6px);opacity:.68}.search-box-filled:not(:focus-within){border-color:#ffffffb8}.search-box-floating{margin-left:auto;width:min(100%,31rem);--search-glass-border:hsla(0,0%,100%,.72);background:linear-gradient(180deg,#ffffffe6,#ffffffb8 54%,#fff9);box-shadow:inset 0 1px #fffffff5,inset 0 -1px #ffffff61,0 24px 48px #23171f38,0 10px 24px #ffffff2e;pointer-events:auto}.search-box svg{color:#585e6fcc;filter:drop-shadow(0 1px 0 rgba(255,255,255,.74));flex:0 0 auto;height:1.1rem;transition:color .18s ease,transform .18s ease;width:1.1rem}.search-box:focus-within svg{color:#ff1f68c2;transform:scale(1.04)}.search-box input{background:transparent;border:0;color:#23283a;font-size:.97rem;min-width:0;outline:0;width:100%}.search-box input::-moz-placeholder{color:#464c5da8}.search-box input::placeholder{color:#464c5da8}.intro{padding:1rem 0 2rem}.eyebrow{color:#8a4f69;font-family:Arial,sans-serif;font-size:.74rem;font-weight:700;letter-spacing:.09em;margin:0 0 .55rem;text-transform:uppercase}.intro h1{font-size:1.72rem;line-height:1.07;margin:0}.intro-copy{color:#303449;font-size:.97rem;line-height:1.58;margin:.72rem 0 0;max-width:42rem}.floating-assistant{background:var(--floralex-accent);border:0;border-radius:50%;bottom:.9rem;box-shadow:0 14px 32px #ff1f6854;color:#fff;display:grid;gap:.24rem;height:4.7rem;place-items:center;position:fixed;right:.9rem;width:4.7rem;z-index:30}.site-footer{background:#fffffffa;border-top:1px solid rgba(227,229,235,.95);box-shadow:0 -10px 28px #23171f0a;margin-top:2.3rem}.site-footer-inner{display:grid;gap:1.6rem;padding-block:2rem 2.3rem}.footer-brand-block,.footer-column{align-content:start;display:grid;gap:.72rem}.footer-brand{width:-moz-fit-content;width:fit-content}.footer-heading{color:var(--floralex-text-strong);font-family:Arial,sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.08em;margin:0;text-transform:uppercase}.footer-copy,.footer-info p,.footer-note{color:#4e5467;line-height:1.58;margin:0}.footer-note{color:#6b7182;font-size:.92rem}.footer-link{background:transparent;border:0;color:var(--floralex-text-body);font-weight:600;padding:0;text-decoration:none;width:-moz-fit-content;width:fit-content}.footer-link:focus-visible,.footer-link:hover{color:var(--floralex-accent)}.footer-link-button{cursor:pointer}.footer-link-button:disabled{color:#a1a7b8;cursor:default}@media(min-width:40rem){:root{--shell-inline-gutter:2rem}.top-surface{padding-top:max(5.4rem,var(--app-shell-top-padding,5.4rem))}.brand-name{font-size:2.28rem}.brand-mark{height:3rem;width:3rem}.brand-tagline{font-size:.75rem}.pwa-notices{left:auto;right:calc(var(--shell-inline-gutter)/2);width:min(28rem,calc(100% - var(--shell-inline-gutter)))}.pwa-toast{align-items:center;grid-template-columns:1fr auto}.intro h1{font-size:1.95rem}.intro-copy{font-size:1rem}.site-footer-inner{align-items:start;gap:1.6rem 1.8rem;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr))}}@media(min-width:56rem){.topbar{align-items:center;gap:1.8rem;grid-template-columns:minmax(17rem,1fr) minmax(18rem,28rem)}.topbar-main{gap:1.25rem}.brand-name{font-size:2.85rem}.brand-mark{height:3.5rem;width:3.5rem}.brand-tagline{font-size:1rem}.intro h1{font-size:2.5rem}}.assistant-banner-shell{padding-block:2rem 2rem}.assistant-banner{align-items:center;background:linear-gradient(110deg,var(--floralex-accent),var(--floralex-accent-alt));border:0;border-radius:1rem;color:#fff;display:grid;gap:.85rem;grid-template-columns:1fr auto;min-height:6.85rem;padding:1.15rem 1.05rem;text-align:left}.banner-icon{display:none}.banner-copy strong{display:block;font-size:1.2rem;line-height:1.2}.banner-copy small{display:block;font-size:.9rem;line-height:1.45;margin-top:.42rem}.banner-arrow{background:#ffffff29;border-radius:50%;color:#fff;display:grid;height:2.55rem;place-items:center;width:2.55rem}.catalogue{padding-top:0}.section-heading h2{font-size:1.5rem;margin:0}.section-heading p,.system-note{color:#3c4054;font-size:.97rem;line-height:1.5;margin:.45rem 0 0}.flower-grid{display:grid;gap:.9rem;margin-top:1.35rem}.flower-card{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--floralex-surface);border:1px solid var(--floralex-border-soft);border-radius:.8rem;box-shadow:0 3px 11px var(--floralex-shadow);color:#111524;display:grid;grid-template-columns:1fr;overflow:hidden;padding:0;text-align:left;transition:transform .17s ease,box-shadow .17s ease,border-color .17s ease;width:100%}.flower-card:focus-visible,.flower-card:hover{border-color:var(--floralex-accent-soft);box-shadow:0 12px 24px #23171f29;transform:translateY(-2px)}.flower-visual{align-self:stretch;background:linear-gradient(135deg,#ffffffa3,#fff0),var(--card-tone);color:var(--card-accent);display:grid;min-height:10rem;min-width:0;place-items:center;width:100%}.flower-visual span{aspect-ratio:1;background:#ffffff73;border:1px solid hsla(0,0%,100%,.42);border-radius:50%;color:var(--card-accent);display:grid;font-size:2.2rem;font-weight:700;place-items:center;width:min(6.5rem,48%)}.flower-copy{display:grid;gap:.65rem;padding:1rem}.flower-card-topline{align-items:center;color:var(--floralex-text-strong);display:flex;font-size:1.03rem;gap:.75rem;justify-content:space-between}.flower-local-name{color:#636879;font-size:.88rem}.flower-description{color:var(--floralex-text-body);font-size:.96rem;line-height:1.5}.system-note{padding:1.45rem 0}.system-note-error{color:#b72a3a}.catalogue-pagination{align-items:center;background:#fffffff0;border:1px solid var(--floralex-border-soft);border-radius:.85rem;box-shadow:0 8px 20px #23171f12;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1.25rem;padding:.55rem .65rem}.catalogue-pagination-top{margin-bottom:1rem;margin-top:1rem}.pagination-controls{flex:1 1 100%;gap:.35rem;min-width:0}.pagination-controls,.pagination-page-set{align-items:center;display:flex;flex-wrap:wrap;justify-content:center}.pagination-page-set{gap:.28rem}.pagination-nav-button,.pagination-page-button,.pagination-page-input{border-radius:.65rem;font:inherit;height:2rem;line-height:1;min-width:2rem;padding:0 .55rem}.pagination-nav-button,.pagination-page-button{align-items:center;background:#f4f1fff5;border:1px solid rgba(113,99,255,.14);color:var(--floralex-accent-deep,#4d4bb6);display:inline-flex;gap:.22rem;justify-content:center;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}.pagination-nav-button:focus-visible,.pagination-nav-button:hover,.pagination-page-button:focus-visible,.pagination-page-button:hover{border-color:#7163ff42;box-shadow:0 8px 18px #5547cd1f;transform:translateY(-1px)}.pagination-nav-button[disabled],.pagination-page-button[disabled]{box-shadow:none;opacity:.58;transform:none}.pagination-page-button.is-active{background:linear-gradient(135deg,var(--floralex-accent),var(--floralex-accent-alt));border-color:transparent;color:#fff;opacity:1}.pagination-nav-label{display:inline}.pagination-nav-icon{font-size:1.05rem}.pagination-page-input{background:#fff;border:1px solid rgba(113,99,255,.2);color:var(--floralex-text-strong);font-size:.9rem;min-width:2.45rem;outline:none;padding-inline:.2rem;text-align:center;width:2.45rem}.pagination-page-input:focus{border-color:#7163ff80;box-shadow:0 0 0 4px #7163ff1a}.pagination-ellipsis{color:#7d8091;font-size:.92rem;letter-spacing:0}@media(min-width:40rem){.assistant-banner-shell{padding-block:2.5rem 2.5rem}.assistant-banner{grid-template-columns:auto 1fr auto;padding:1.45rem 1.35rem}.banner-icon{background:#ffffff29;display:inline-grid;height:3.8rem;width:3.8rem}.banner-copy strong{font-size:1.3rem}.banner-copy small{font-size:.94rem}.section-heading h2{font-size:1.68rem}.flower-card-topline{font-size:1.08rem}.catalogue-pagination{flex-wrap:wrap;gap:1rem;padding:1.1rem 1.2rem}.catalogue-pagination-top{margin-bottom:1.15rem;margin-top:1.15rem}.pagination-controls{flex:0 1 auto;gap:.55rem}.pagination-page-set{gap:.45rem}.pagination-nav-button,.pagination-page-button,.pagination-page-input{border-radius:.75rem;height:2.35rem;min-width:2.35rem;padding:0 .8rem}.pagination-page-input{font-size:1rem;min-width:3.35rem;padding-inline:.35rem;width:3.35rem}.pagination-ellipsis{font-size:1.05rem}}@media(min-width:56rem){.section-heading h2{font-size:1.9rem}.flower-grid{gap:1.45rem;grid-template-columns:repeat(2,minmax(0,1fr))}.flower-card{grid-template-columns:minmax(10rem,34%) 1fr;min-height:15.8rem}.flower-visual{min-height:100%}.flower-copy{padding:1.35rem}.catalogue-pagination{justify-content:space-between}}.modal-backdrop{background:#000000d1;display:grid;inset:0;overflow-y:auto;overscroll-behavior:contain;padding:calc(env(safe-area-inset-top,0px) + .75rem) .75rem calc(env(safe-area-inset-bottom,0px) + .75rem);place-items:center;position:fixed;z-index:60}.assistant-modal{background:var(--floralex-surface);border-radius:.8rem;box-shadow:0 24px 80px #00000052;display:grid;grid-template-rows:auto minmax(0,1fr);max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 1.5rem);overflow:hidden;width:min(42rem,100%)}.assistant-header{align-items:center;border-bottom:1px solid #ececf1;display:grid;gap:.8rem;grid-template-columns:auto 1fr auto;padding:1rem}.assistant-avatar{height:2.25rem;width:2.25rem}.assistant-avatar.small{height:2rem;width:2rem}.assistant-header h2{font-size:1.25rem;margin:0}.assistant-header p{color:var(--floralex-text-soft);font-size:.86rem;margin:.2rem 0 0}.close-button{background:transparent;border:0;color:#858a98;height:2.2rem;width:2.2rem}.assistant-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:1rem}.assistant-status{background:#fff9ecf7;border:1px solid #f3ce86;border-radius:.9rem;display:grid;gap:.35rem;margin-bottom:1rem;padding:.9rem 1rem}.assistant-status p,.assistant-status strong{margin:0}.assistant-status p{color:#5f5a4d;line-height:1.45}.assistant-message{align-items:start;display:grid;gap:.85rem;grid-template-columns:auto 1fr}.message-bubble{background:#f2f2f5;border-radius:.7rem;color:#1f2435;line-height:1.5;max-width:30rem;padding:.85rem 1rem}.chip-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.chip,.option-grid label,.primary-button,.text-button{border-radius:999px;min-height:2.5rem}.chip{background:var(--floralex-surface);border:1px solid #ff8cad;color:var(--floralex-accent);padding:0 1.2rem}.assistant-form{display:grid;gap:1.2rem}fieldset{border:0;margin:0;padding:0}legend{font-weight:700;margin-bottom:.55rem}.option-grid{display:flex;flex-wrap:wrap;gap:.55rem}.option-grid label{align-items:center;border:1px solid var(--floralex-border);color:#4a5064;display:inline-flex;gap:.45rem;padding:0 .9rem}.option-grid label.selected{background:#fff4f7;border-color:#ff8cad;color:var(--floralex-accent)}.option-grid input{accent-color:var(--floralex-accent)}.field-pair{display:grid;gap:.8rem}.field-pair label{color:#4a5064;display:grid;gap:.4rem}select{background:var(--floralex-surface);border:1px solid var(--floralex-border);border-radius:.75rem;color:#1e2332;min-height:2.75rem;padding:0 .75rem;width:100%}.assistant-error,.helper-text{color:var(--floralex-text-muted);font-size:.92rem;line-height:1.45;margin:.55rem 0 0}.assistant-error{color:#b72a3a}.assistant-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end;margin-top:.5rem}.primary-button,.text-button{border:1px solid transparent;padding:0 1rem}.primary-button{background:var(--floralex-accent);color:#fff}.primary-button:disabled{cursor:wait;opacity:.68}.text-button{background:transparent;color:var(--floralex-accent)}.result-panel{border:1px solid #e2e5ec;border-radius:.9rem;display:grid;gap:.7rem;padding:1rem}.result-panel.appropriate{border-color:#9fcf96}.result-panel.mixed{border-color:#e1bd65}.result-panel.inappropriate{border-color:#df8a93}.alternatives ul,.result-panel h3,.result-panel h4,.result-panel p{margin:0}.result-label{color:var(--floralex-text-muted);font-family:Arial,sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.result-panel h3{text-transform:capitalize}.score-line{color:var(--floralex-text-muted)}.alternatives{display:grid;gap:.45rem;margin-top:.5rem}.alternatives ul{display:grid;gap:.35rem;padding-left:1.2rem}.assistant-pop-enter-active,.assistant-pop-leave-active{transition:opacity .18s ease}.assistant-pop-enter-from,.assistant-pop-leave-to{opacity:0}.assistant-pop-enter-active .assistant-modal,.assistant-pop-leave-active .assistant-modal{transition:opacity .22s ease,transform .22s ease}.assistant-pop-enter-from .assistant-modal,.assistant-pop-leave-to .assistant-modal{opacity:0;transform:translateY(.75rem) scale(.985)}@media(min-width:40rem){.assistant-modal{max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 2rem)}.field-pair{grid-template-columns:repeat(2,minmax(0,1fr))}}
