.bc-shell{max-width:1020px;margin:0 auto}.florn-intro-row{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin:1.25rem 0 .5rem}.florn-intro-row figure{margin:0;text-align:center;font-size:.85rem;color:var(--color-ink-soft);line-height:1.4}.florn-fig-svg{display:flex;justify-content:center;margin-bottom:.4rem}.stage-list{margin:.5rem 0 0;padding-left:1.25rem;color:var(--color-ink-soft);line-height:1.8}.stage-list strong{color:var(--color-ink)}.stage-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.65rem;gap:1rem}.stage-id-group{display:flex;align-items:baseline;gap:.55rem}.stage-num{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--color-primary-dark)}.stage-name{font-size:1rem;font-weight:600;color:var(--color-ink)}.stage-frac{font-size:.84rem;color:var(--color-ink-soft);white-space:nowrap}.phase-bar{display:flex;align-items:center;gap:.25rem;margin-bottom:1rem;flex-wrap:wrap}.phase-pip{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:.22rem .55rem;border-radius:999px;background:var(--color-border);color:var(--color-ink-soft);transition:background .18s ease,color .18s ease}.phase-pip.active{background:var(--color-primary);color:#fff}.phase-pip.done{background:var(--color-sky);color:var(--color-primary-dark)}.phase-divider{color:var(--color-border);font-size:.7rem}.lab-grid{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:1rem;align-items:start}.teach-card{background:var(--color-sky);border-color:var(--color-primary);border-left-width:3px}.teach-beat{font-size:.97rem;color:var(--color-ink);margin-bottom:.75rem}.teach-vis{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:.75rem}.teach-label{font-size:.8rem;color:var(--color-ink-soft);font-weight:600}.action-card{min-height:240px}.action-prompt{font-size:1.05rem;font-weight:600;color:var(--color-ink);margin-bottom:1rem}.build-hint{font-size:.9rem;margin:-.3rem 0 .3rem}.stage-feedback{margin-top:1rem;padding:.85rem 1rem;border-radius:10px;font-size:.95rem;display:none}.stage-feedback.right,.stage-feedback.wrong,.stage-feedback.info{display:block}.stage-feedback.right{background:#e3f5ea;border:1px solid #b9e3c9;color:#1d6b41}.stage-feedback.wrong{background:#fbe9e8;border:1px solid #f0c6c4;color:#a4302c}.stage-feedback.info{background:var(--color-sky);border:1px solid var(--color-border);color:var(--color-ink)}.stage-feedback strong{display:block;margin-bottom:.2rem}.mc-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.option-btn{display:block;width:100%;text-align:left;padding:.8rem 1rem;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg);color:var(--color-ink);font-size:.97rem;cursor:pointer;transition:border-color .12s ease,background .12s ease}.option-btn:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-sky)}.option-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.option-btn:disabled{cursor:default}.option-btn.correct{border-color:#2f9e63;background:#e3f5ea;color:#1d6b41;font-weight:600}.option-btn.incorrect{border-color:#d9534f;background:#fbe9e8;color:#a4302c;font-weight:600}.option-btn .mark{float:right;font-weight:700}.creature-grid{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-start;margin-bottom:.75rem}.creature-wrap{display:flex;flex-direction:column;align-items:center;gap:.25rem}.creature-label{font-size:.72rem;font-weight:600;color:var(--color-ink-soft);text-align:center;line-height:1.25}.florn-svg{display:block}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:.75rem}.compare-label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-ink-soft);margin-bottom:.4rem}.compare-note{font-size:.88rem;margin-top:.4rem}.bar-compare{display:flex;height:42px;border-radius:8px;overflow:hidden;border:1px solid var(--color-border)}.bar-seg{display:flex;align-items:center;padding:0 .5rem;min-width:0;transition:width .3s ease}.bar-label{font-size:.72rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dominant-seg{background:var(--color-primary);color:#fff}.recessive-seg{background:#e8d8f8;color:#5a2a80}.convergence-wrap{display:grid;gap:1rem}.conv-bar-labels{display:flex;justify-content:space-between;font-size:.75rem;font-weight:700;color:var(--color-ink-soft);margin-bottom:.2rem}.conv-bar{display:flex;height:52px;border-radius:10px;overflow:hidden;border:1px solid var(--color-border)}.conv-seg{transition:width .4s ease;display:flex;align-items:center;padding:0 .5rem}.dom-seg{background:var(--color-primary);color:#fff}.rec-seg{background:#e8d8f8;color:#5a2a80}.conv-ratio{margin-top:.4rem;font-size:.9rem;font-weight:700;color:var(--color-ink);font-variant-numeric:tabular-nums}.conv-total{font-size:.8rem;color:var(--color-ink-soft)}.pheno-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.85rem;margin-bottom:.75rem}.pheno-card{border:1px solid var(--color-border);border-radius:var(--radius);padding:.85rem;background:var(--color-surface);text-align:center}.pheno-label{font-size:.82rem;font-weight:700;color:var(--color-ink);margin:.35rem 0 .15rem}.pheno-count{font-size:1.25rem;font-weight:800;color:var(--color-primary-dark);margin:0}.pheno-pct{font-size:.8rem;margin:0}.pheno-compare{margin-bottom:.75rem}.pheno-table{width:100%;border-collapse:collapse;font-size:.9rem;margin-top:.5rem}.pheno-table th,.pheno-table td{padding:.45rem .6rem;text-align:left;border-bottom:1px solid var(--color-border);vertical-align:middle}.pheno-table th{font-weight:700;color:var(--color-ink-soft);font-size:.78rem}.pheno-table td:not(:first-child){font-variant-numeric:tabular-nums;font-weight:600}.grid-host-4x4{overflow-x:auto}.phenotype-grid-teach{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;text-align:center;font-size:.75rem;color:var(--color-ink-soft);margin-top:.75rem}.phenotype-grid-teach span{display:flex;flex-direction:column;align-items:center;gap:.2rem}.cer-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700;color:var(--color-teal);margin:0 0 .5rem}@media (min-width: 860px){.lab-teach-col{position:sticky;top:88px;align-self:start}}@media (max-width: 859px){.lab-grid{grid-template-columns:1fr}.lab-teach-col{position:static}}@media (max-width: 620px){.compare-grid{grid-template-columns:1fr}.pheno-grid{grid-template-columns:1fr 1fr}.phase-bar{gap:.15rem}.phase-pip{font-size:.65rem;padding:.18rem .4rem}.phase-divider{display:none}}
