.bloomix-app{max-width:1100px;margin:4rem auto;padding:0 24px;font-family:inherit;color:#171717}.bloomix-app *{box-sizing:border-box}.bloomix-progress{display:flex;align-items:center;gap:10px;margin-bottom:48px}.bloomix-progress button{border:0;background:none;font:inherit;opacity:.35;cursor:pointer}.bloomix-progress button.is-active{opacity:1;font-weight:700}.bloomix-progress > span{height:1px;background:currentColor;opacity:.2;flex:1}.bloomix-step{display:none}.bloomix-step.is-active{display:block}.bloomix-kicker{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;opacity:.6}.bloomix-intro{max-width:650px;font-size:1.1rem}.bloomix-grid{display:grid;gap:24px;margin:30px 0}.bloomix-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.bloomix-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.bloomix-card,fieldset{border:1px solid #ddd;padding:24px;margin:0}.bloomix-card legend,fieldset legend{font-weight:700;padding:0 8px}.bloomix-app label{display:block;font-weight:600;margin:18px 0}.bloomix-app input[type=text],.bloomix-app input:not([type]),.bloomix-app textarea,.bloomix-app select{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #bbb;background:#fff;font:inherit}.bloomix-app input[type=range]{width:100%;accent-color:currentColor;margin-top:14px}.bloomix-app small{display:flex;justify-content:space-between;opacity:.6}.bloomix-app output{font-weight:700;margin-left:8px}.bloomix-actions{display:flex;justify-content:space-between;gap:12px;margin-top:32px}.bloomix-actions button{padding:12px 20px;border:1px solid currentColor;background:transparent;cursor:pointer}.bloomix-actions button.bloomix-next,.bloomix-actions button.bloomix-print{background:#171717;color:#fff}.bloomix-mix-names{display:flex;justify-content:space-between;margin:20px 0 8px;font-size:1.3rem}.bloomix-main-slider{padding:25px;border:1px solid #ddd}.bloomix-ratio{display:flex;justify-content:center;gap:12px;font-size:2rem;margin-top:10px}.bloomix-theory{margin-top:30px;padding:30px;background:#f3f3f3;text-align:center}.bloomix-theory-numbers{display:flex;justify-content:center;gap:60px}.bloomix-theory-numbers div{display:flex;flex-direction:column}.bloomix-theory-numbers strong{font-size:4rem;line-height:1}.bloomix-checks{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.bloomix-checks label{margin:0;border:1px solid #ccc;padding:7px 10px;font-size:.9rem;font-weight:400}.bloomix-checks input{margin:0}.bloomix-title-field input{font-size:1.5rem;padding:16px}.bloomix-result{margin-top:35px;border-top:2px solid #111;padding-top:25px}.bloomix-result-head{text-align:center}.bloomix-result-head h3{font-size:3rem;margin:.2em 0}.bloomix-result-theory{display:grid;grid-template-columns:1fr 1fr;gap:8px;text-align:center;margin:30px 0;padding:25px;background:#f3f3f3}.bloomix-result-theory strong{font-size:3rem}.bloomix-result-theory span{display:block}.bloomix-result-copy{max-width:750px;margin:auto}.bloomix-result-copy h4{text-transform:uppercase;letter-spacing:.08em;margin-bottom:0}.bloomix-result-copy p{margin-top:5px}.bloomix-result-head span{font-size:.7rem;letter-spacing:.15em;opacity:.6}@media(max-width:700px){.bloomix-grid.two,.bloomix-grid.three{grid-template-columns:1fr}.bloomix-theory-numbers{gap:25px}.bloomix-theory-numbers strong{font-size:2.8rem}.bloomix-result-head h3{font-size:2.2rem}}@media print{body *{visibility:hidden}.bloomix-app,.bloomix-app *{visibility:visible}.bloomix-app{position:absolute;left:0;top:0;width:100%;margin:0}.bloomix-progress,.bloomix-actions{display:none!important}.bloomix-step{display:none!important}.bloomix-step:last-child{display:block!important}.bloomix-result{border:0}}

/* Bloomix interface refinements */
.bloomix-selected-variety{font-size:1.45rem;font-weight:700;margin:0 0 1.5rem;padding-bottom:12px;border-bottom:1px solid #ddd}
.bloomix-help{display:block!important;margin-top:4px;color:#666;font-weight:400!important;line-height:1.4}
.bloomix-slider-title{display:block;font-weight:600;margin-top:16px}
.bloomix-checks-heading{width:100%;display:block;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;opacity:.65;margin-bottom:2px}
.bloomix-negative{margin-top:8px!important;border-top:1px solid #ddd;padding-top:10px}
.bloomix-result-variety{border-top:1px solid #ddd;margin-top:30px;padding-top:20px}
.bloomix-result-variety h4{margin:0 0 12px;text-transform:none;letter-spacing:0;font-size:1.25rem}
.bloomix-result-variety p{margin:6px 0}
.bloomix-result-copy{margin-top:30px}

/* Bloomix 0.3.0 — active profile, descriptor icons and rating comparison */
.bloomix-variety-card{transition:background-color .18s ease, border-color .18s ease, box-shadow .18s ease}
.bloomix-feature{margin:26px 0 0;padding-top:20px;border-top:1px solid #e1e1e1}
.bloomix-feature:first-of-type{margin-top:22px}
.bloomix-feature-title{display:block;font-weight:700;font-size:1.05rem;margin-bottom:8px}
.bloomix-tag{display:inline-flex!important;align-items:center;gap:5px;vertical-align:top}
.bloomix-tag-icon{font-size:1rem;line-height:1;display:inline-flex;align-items:center}
.bloomix-checks[data-max-tags="3"]{position:relative}
.bloomix-checks[data-max-tags="3"] .bloomix-tag input:disabled + .bloomix-tag-icon,.bloomix-checks[data-max-tags="4"] .bloomix-tag input:disabled + .bloomix-tag-icon{opacity:.35}
.bloomix-checks[data-max-tags="3"] .bloomix-tag:has(input:disabled),.bloomix-checks[data-max-tags="4"] .bloomix-tag:has(input:disabled){opacity:.42}
.bloomix-checks.bloomix-limit-reached::after{content:'Maximum ' attr(data-max-tags) ' selected';display:block;width:100%;font-size:.72rem;opacity:.55;margin-top:2px}
.bloomix-negative{display:flex}
.bloomix-rating-summary{margin-top:38px;padding-top:24px;border-top:1px solid #ddd}
.bloomix-rating-table-wrap{overflow-x:auto}
.bloomix-rating-table{width:100%;border-collapse:collapse;margin-top:16px;font-size:.95rem}
.bloomix-rating-table th,.bloomix-rating-table td{padding:10px 12px;border-bottom:1px solid #ddd;text-align:center}
.bloomix-rating-table th:first-child,.bloomix-rating-table td:first-child{text-align:left}
.bloomix-rating-table thead th{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;opacity:.7}
.bloomix-rating-table tbody th{font-weight:600}
@media(max-width:700px){.bloomix-rating-table{font-size:.82rem}.bloomix-rating-table th,.bloomix-rating-table td{padding:8px 6px}}

/* Bloomix 0.3.1 — grouped Smell/Taste sensory taxonomy */
.bloomix-sensory-groups{display:block;margin-top:10px}
.bloomix-tag-group{display:block;margin:0 0 12px}
.bloomix-tag-group-title{display:block;width:100%;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;opacity:.58;margin:0 0 6px}
.bloomix-tag-group .bloomix-tag{display:inline-flex!important;margin:0 6px 6px 0!important}


/* Bloomix — column highlight behavior */
.bloomix-variety-card,.bloomix-breeding-card{transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}
.bloomix-variety-card:hover,.bloomix-breeding-card:hover{background:#f5f7f8;border-color:#8b969e;box-shadow:0 0 0 2px rgba(0,0,0,.04)}
.bloomix-variety-card.is-active,.bloomix-breeding-card.is-active{background:#f5f7f8;border-color:#8b969e;box-shadow:0 0 0 2px rgba(0,0,0,.04)}
.bloomix-checks[data-required-group]{padding-bottom:2px}
.bloomix-checks[data-required-group] .bloomix-tag input:checked + .bloomix-tag-icon{transform:scale(1.08)}

/* Bloomix 0.3.3 — required checkbox feedback */
.bloomix-checks.bloomix-required-error{border:1px solid #b33;padding:8px;border-radius:3px}
.bloomix-checks.bloomix-required-error::before{content:'Please select at least one option';display:block;width:100%;font-size:.75rem;color:#a00;margin-bottom:6px}
.bloomix-checks.bloomix-required-error .bloomix-tag{border-color:#caa}

/* 0.3.8 validation and merged variety step */
.bloomix-text-min-error { border-color: #b3261e !important; box-shadow: 0 0 0 2px rgba(179,38,30,.12); }

/* Bloomix 0.4.1 — photos and automatic ratings */
.bloomix-auto-rating{margin-top:24px;padding:18px 0;border-top:1px solid #ddd}
.bloomix-auto-rating output{display:block;font-size:1.8rem;margin:6px 0 0}
.bloomix-photo-field{margin-top:24px;padding-top:20px;border-top:1px solid #ddd}
.bloomix-photo-field label{margin:0;font-weight:600}
.bloomix-photo-field input[type=file]{display:block;width:100%;margin-top:10px;padding:10px;border:1px solid #bbb;background:#fff;font:inherit}
.bloomix-photo-status{font-size:.8rem;color:#666;margin-top:7px;min-height:1.2em}
.bloomix-photo-preview{margin-top:12px}
.bloomix-photo-preview img{display:block;width:100%;max-width:520px;height:auto;max-height:none;object-fit:contain;border:1px solid #ddd}
.bloomix-result-photo{margin:12px 0 18px}
.bloomix-result-photo img{display:block;width:100%;max-width:100%;height:auto;max-height:none;object-fit:contain;margin:0 auto}
.bloomix-score-compare{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 24px}
.bloomix-score-compare div{padding:18px;background:#f3f3f3;text-align:center}
.bloomix-score-compare span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;opacity:.65}
.bloomix-score-compare strong{display:block;font-size:1.7rem;margin-top:7px}
@media(max-width:700px){.bloomix-score-compare{grid-template-columns:1fr}.bloomix-photo-preview img,.bloomix-result-photo img{max-height:none}}.bloomix-result-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start;margin-top:30px}.bloomix-result-pair .bloomix-result-variety{margin-top:0;padding:22px;border:1px solid #ddd}.bloomix-result-pair .bloomix-result-photo{margin:0 0 18px}.bloomix-result-pair .bloomix-result-photo img{width:100%;max-width:100%;max-height:320px;object-fit:contain;background:#f6f6f6}.bloomix-result-pair .bloomix-result-variety h4{margin-top:0}.bloomix-admin-photos img{max-width:100%;height:auto}@media(max-width:700px){.bloomix-result-pair{grid-template-columns:1fr}}

/* Bloomix 0.5.1 — start screen and breeder mode */
.bloomix-start{display:none;padding:8vh 0 10vh;text-align:center}.bloomix-start.is-active{display:block}.bloomix-start h1{font-size:clamp(2.4rem,6vw,4.5rem);margin:.2em 0}.bloomix-start .bloomix-intro{margin:0 auto 3rem}.bloomix-start-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;text-align:left}.bloomix-start-group{border:1px solid #ddd;padding:24px}.bloomix-start-label{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;opacity:.6;margin-bottom:14px}.bloomix-start-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bloomix-choice{padding:16px 14px;border:1px solid currentColor;background:transparent;font:inherit;font-weight:700;cursor:pointer;transition:.18s ease}.bloomix-choice:hover,.bloomix-choice.is-selected{background:#171717;color:#fff}.bloomix-choice:disabled{opacity:.3;cursor:not-allowed}.bloomix-start-status{min-height:1.4em;margin-top:18px;opacity:.6}.bloomix-progress{display:none}.bloomix-progress.is-visible{display:flex}.bloomix-mode-flow{display:none}.bloomix-mode-flow.is-active{display:block}.bloomix-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bloomix-cultivation-condition{margin-top:18px;padding-top:8px;border-top:1px solid #ddd}.bloomix-cultivation-condition label{margin-top:14px}.bloomix-breeding-card select{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #bbb;background:#fff;font:inherit}.bloomix-breeding-card input[type=date],.bloomix-breeding-card input[type=number]{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #bbb;background:#fff;font:inherit}.bloomix-breeding-card input:disabled{opacity:.5}.bloomix-breeding-card .bloomix-help{font-weight:400}.bloomix-breeding-card legend{font-size:1.2rem}.bloomix-start + .bloomix-progress{margin-top:20px}.bloomix-user-links{margin:14px 0 0;font-size:.82rem;text-align:center}.bloomix-user-links[hidden]{display:none}.bloomix-user-links a{text-decoration:underline}
@media(max-width:900px){.bloomix-start-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.bloomix-start-grid,.bloomix-field-row{grid-template-columns:1fr}.bloomix-start{padding-top:4vh}.bloomix-start-buttons{grid-template-columns:1fr}}
@media print{.bloomix-start,.bloomix-progress{display:none!important}.bloomix-mode-flow{display:none!important}.bloomix-mode-flow.is-active{display:block!important}.bloomix-mode-flow.is-active .bloomix-step{display:none!important}.bloomix-mode-flow.is-active .bloomix-step.is-active{display:block!important}.bloomix-actions{display:none!important}}
.bloomix-auto-field{margin:14px 0}.bloomix-auto-field .bloomix-field-label{display:block;font-weight:600}.bloomix-auto-field output{display:block;margin-top:8px;padding:12px;border:1px solid #bbb;background:#f7f7f7;font-weight:700}.bloomix-shape-field{margin:14px 0;padding:14px 0 0;border:0;border-top:1px solid #ddd}.bloomix-shape-field legend{font-weight:600;padding:0}.bloomix-shape-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}.bloomix-shape-option{position:relative!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:82px;padding:9px!important;border:1px solid #ccc;cursor:pointer;text-align:center;margin:0!important;background:#fff}.bloomix-shape-option input{position:absolute;opacity:0;pointer-events:none}.bloomix-shape-option:has(input:checked){border-color:#171717;background:#171717;color:#fff}.bloomix-shape-option>span:last-child{font-size:.78rem;line-height:1.15}.bloomix-shape-icon{font-size:1.7rem;line-height:1}.bloomix-required-error{outline:2px solid #b00;outline-offset:3px}@media(max-width:700px){.bloomix-shape-options{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Bloomix 0.5.12 — minimum-word guidance and progress navigation */
.bloomix-min-words-help{display:block!important;justify-content:initial!important;margin-top:5px;font-size:.72rem;opacity:.55}

/* Bloomix 0.5.13 — restore separator between steps 03 and 04 */
.bloomix-progress > span{display:block;min-width:20px;flex:1 1 auto;}

/* Bloomix 0.6.0 — formula persistence */
.bloomix-save-box{margin-top:32px;padding:20px;border:1px solid #ddd;background:#fafafa}
.bloomix-save-title{display:block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;opacity:.65;margin-bottom:10px}
.bloomix-save-box label{display:inline-flex!important;align-items:center;gap:6px;margin:0 18px 12px 0!important;font-weight:400!important}
.bloomix-save-box input[type=radio]{margin:0}
.bloomix-save{display:block;padding:12px 20px;border:1px solid currentColor;background:#171717;color:#fff;font:inherit;font-weight:700;cursor:pointer;margin-top:4px}
.bloomix-save:disabled{opacity:.5;cursor:wait}
.bloomix-save-status{min-height:1.3em;margin:10px 0 0;font-size:.85rem;color:#555}
.bloomix-save-status a{color:inherit;text-decoration:underline}

/* Bloomix 0.7.0 — user choice and in-page authentication */
.bloomix-user-choice-row{margin:0 0 24px}.bloomix-user-choice-row .bloomix-start-group{max-width:none;text-align:center}.bloomix-user-choice-row .bloomix-start-buttons{max-width:520px;margin:0 auto}.bloomix-inline-link{border:0;background:none;padding:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}.bloomix-auth-modal[hidden]{display:none}.bloomix-auth-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:20px}.bloomix-auth-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}.bloomix-auth-dialog{position:relative;z-index:1;width:min(460px,100%);padding:30px;background:#fff;box-shadow:0 20px 70px rgba(0,0,0,.25)}.bloomix-auth-close{position:absolute;right:12px;top:8px;border:0;background:none;font-size:28px;line-height:1;cursor:pointer}.bloomix-auth-dialog h2{margin:0 30px 24px 0}.bloomix-auth-panel label{display:block;margin:0 0 14px}.bloomix-auth-panel input{display:block;width:100%;box-sizing:border-box;margin-top:7px;padding:12px;border:1px solid #bbb;background:#fff;font:inherit}.bloomix-auth-submit{display:block;width:100%;padding:12px 20px;border:1px solid currentColor;background:#171717;color:#fff;font:inherit;font-weight:700;cursor:pointer;margin-top:18px}.bloomix-auth-submit:disabled{opacity:.5;cursor:wait}.bloomix-auth-switch{font-size:.88rem;margin:18px 0 0;text-align:center}.bloomix-auth-status{min-height:1.4em;margin:14px 0 0;font-size:.88rem}.bloomix-auth-open{overflow:hidden}

/* Bloomix 0.7.2 — public formula archive */
.bloomix-archive{width:100%}
.bloomix-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.bloomix-formula-card{margin:0;padding:0;border:1px solid #ddd;background:#fff;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.bloomix-formula-card:hover{transform:translateY(-2px);border-color:#aaa;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.bloomix-formula-card-link{display:block;color:inherit;text-decoration:none}
.bloomix-formula-card-image{aspect-ratio:16/10;overflow:hidden;background:#f3f3f3}
.bloomix-formula-card-image img{display:block;width:100%;height:100%;object-fit:cover}
.bloomix-formula-card-image-empty{background:linear-gradient(135deg,#f2f2f2,#e8e8e8)}
.bloomix-formula-card-body{padding:18px 18px 20px}
.bloomix-formula-card-type{display:block;margin-bottom:7px;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;opacity:.58}
.bloomix-formula-card h2{margin:0 0 12px;font-size:1.25rem;line-height:1.15}
.bloomix-formula-card-pair{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:.92rem}
.bloomix-formula-card-separator{opacity:.45}
.bloomix-formula-card-mix{display:inline-block;margin-top:10px;padding:4px 8px;background:#f3f3f3;font-size:.78rem;font-weight:700;letter-spacing:.03em}
.bloomix-formula-card-meta{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:16px;padding-top:12px;border-top:1px solid #e5e5e5;font-size:.75rem;opacity:.65}
.bloomix-archive-pagination{margin:34px 0 0;text-align:center}
.bloomix-archive-pagination .page-numbers{display:flex;justify-content:center;gap:7px;list-style:none;margin:0;padding:0}
.bloomix-archive-pagination .page-numbers a,.bloomix-archive-pagination .page-numbers span{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 9px;border:1px solid #ddd;text-decoration:none;color:inherit}
.bloomix-archive-pagination .page-numbers .current{background:#171717;color:#fff;border-color:#171717}
.bloomix-archive-empty{padding:40px 0;text-align:center;opacity:.65}
@media(max-width:1000px){.bloomix-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.bloomix-archive-grid{grid-template-columns:1fr}.bloomix-formula-card-image{aspect-ratio:16/9}}

/* BLOOMIX 0.8.9: breeding result image and experience in two columns */
.bloomix-breeding-final-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start;margin-top:30px}.bloomix-breeding-final-grid .bloomix-result-copy{max-width:none;margin:0}.bloomix-breeding-final-photo .bloomix-result-photo{margin:0}.bloomix-breeding-final-photo .bloomix-result-photo img{display:block;width:100%;max-width:100%;max-height:520px;object-fit:contain;background:#f6f6f6}.bloomix-breeding-final-grid .bloomix-result-copy p{margin:0 0 10px}@media(max-width:700px){.bloomix-breeding-final-grid{grid-template-columns:1fr}}
