.optica.biologia{--o-bg:#080f09;--o-panel:#0e1810;--o-panel-2:#152318;--o-line:#233626;--o-dim:#a5baa0;--o-faint:#6c8268;--wl:#8ee06a}.b-levels{position:relative;display:grid;grid-template-columns:repeat(9,minmax(0,1fr)) minmax(0,1.1fr);padding:1rem 0 0}.b-levels:before{content:"";position:absolute;left:.3rem;right:1.5rem;top:1.62rem;height:2px;border-radius:99px;background:linear-gradient(90deg,#6fd3e8,#8ee06a 45%,#ffb84d 70%,#ff9466 80%,#ff7a7a 90%,#ffffff);opacity:.4}.b-levels a{position:relative;display:block;padding:1.9rem .6rem 0 0;color:var(--o-faint);font-size:.74rem;font-weight:700;line-height:1.25;text-decoration:none}.b-levels a:after{content:"";position:absolute;left:0;top:calc(.68rem - var(--s) / 2);width:var(--s);height:var(--s);border-radius:99px;box-sizing:border-box;border:2px solid var(--c);background:var(--o-bg);transition:box-shadow .15s}.b-levels a.is-done:after{background:var(--c);box-shadow:0 0 10px color-mix(in srgb,var(--c) 60%,transparent)}.b-levels a.is-current{color:var(--o-text)}.b-levels a.is-current:after{box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 30%,transparent)}.b-levels a:hover{color:var(--o-text)}.b-levels-label{display:none}@media (min-width:820px){.b-levels-label{display:inline}}.o-toc.b-toc img{grid-column:2;width:100%;max-width:22rem;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:10px;border:1px solid var(--o-line)}.o-toc.b-toc .o-toc-title{grid-column:2}@media (min-width:860px){.o-toc.b-toc a{grid-template-columns:3.2rem 8.5rem 13.5rem minmax(0,1fr) 8.5rem;align-items:center}.o-toc.b-toc .o-toc-title,.o-toc.b-toc img{grid-column:auto}}.b-plate{margin:2.5rem 0 0;max-width:60rem}.b-plate img{display:block;width:100%;height:auto;border-radius:16px;border:1px solid var(--o-line)}.b-plate figcaption{margin-top:.5rem;font-size:.84rem;line-height:1.5;color:var(--o-faint)}.b-stage{border-radius:14px;background:var(--o-bg);padding:.75rem;display:grid;gap:.85rem}.b-stage,.b-stage>*{min-width:0}.b-row-label{font-size:.78rem;font-weight:700;color:var(--o-faint)}.b-note{border-radius:12px;border:1px solid var(--o-line);background:var(--o-panel);padding:.7rem .85rem;min-height:5.4rem}.b-note.is-ok{border-color:color-mix(in srgb,var(--wl) 55%,var(--o-line));background:color-mix(in srgb,var(--wl) 7%,var(--o-panel))}.b-note-kicker{font-size:.74rem;font-weight:800;color:var(--wl)}.b-note-title{font-weight:800;font-size:1rem;line-height:1.35;color:var(--o-text)}.b-note-text{margin-top:.25rem;font-size:.88rem;line-height:1.5;color:var(--o-dim)}.b-cell{display:block;width:100%;max-width:40rem;margin:0 auto;height:auto}.b-org{transition:opacity .15s}.b-org.is-pick{cursor:pointer}.b-org.is-active,.b-org.is-pick:hover{filter:drop-shadow(0 0 5px var(--c))}.b-org:focus{outline:none}.b-org:focus-visible{filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 6px var(--c))}.b-cell.has-active .b-org:not(.is-active){opacity:.4}.b-org.is-wrong{animation:b-shake .35s}@keyframes b-shake{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}@media (prefers-reduced-motion:reduce){.b-org.is-wrong{animation:none}}.b-chips{display:flex;flex-wrap:wrap;gap:.4rem;padding:.7rem .5rem .2rem}.b-chip{min-height:2.5rem;padding:.4rem .8rem;border-radius:99px;border:1px solid var(--o-line);background:var(--o-bg);color:var(--o-dim);font-size:.85rem;font-weight:700;cursor:pointer}.b-chip:hover{border-color:var(--o-dim);color:var(--o-text)}.b-chip[aria-pressed=true]{background:var(--wl);border-color:var(--wl);color:#05070b}.b-dna{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.b-dna .b-input span,.b-dna .b-note,.b-dna .b-row-label{font-family:var(--font-sans,system-ui),sans-serif}.b-base{display:inline-grid;place-items:center;width:1.7rem;height:1.9rem;border-radius:6px;font-weight:800;font-size:.95rem;color:var(--bc,var(--o-dim));border:1.5px solid color-mix(in srgb,var(--bc,#888) 55%,transparent);background:transparent;box-sizing:border-box;flex:none}.b-base.is-A{--bc:#8ee06a}.b-base.is-T{--bc:#ffb84d}.b-base.is-U{--bc:#c7a0ff}.b-base.is-C{--bc:#6fd3e8}.b-base.is-G{--bc:#ff8fb3}.b-base.is-new{background:var(--bc);color:#05070b;border-color:var(--bc)}.b-base.is-rna{border-style:dashed}.b-base.is-dim{opacity:.4}.b-base.is-empty{border:1.5px dashed var(--o-line)}.b-base.is-empty.is-next{border-color:var(--o-text);box-shadow:0 0 0 3px color-mix(in srgb,var(--wl) 30%,transparent)}.b-base.is-btn{cursor:pointer;width:1.72rem;height:2.6rem}.b-base.is-btn:hover{background:color-mix(in srgb,var(--bc) 18%,transparent)}.b-base.is-btn.is-sel{background:var(--bc);color:#05070b;border-color:#fff}.b-base.is-btn.is-diff{box-shadow:0 0 0 2px #ff7d5c}.b-base.is-key{width:2.75rem;height:2.75rem;font-size:1.1rem}.b-base.is-key:disabled{opacity:.3;cursor:default}.b-keys{display:flex;gap:.4rem}.b-duplex{display:grid;gap:3px;justify-content:start;overflow-x:auto;padding:3px}.b-strand{display:flex;align-items:center;gap:3px}.b-strand .b-base{width:1.55rem}.b-strand i{width:1.2rem;flex:none;font-style:normal;font-size:.7rem;color:var(--o-faint);text-align:center}.b-seq{display:flex;flex-wrap:wrap;gap:.55rem .5rem;align-items:flex-start}.b-codon{display:grid;gap:3px;justify-items:center}.b-codon-row{display:flex;gap:2px;min-height:1.9rem}.b-codon-aa{min-height:1.7rem;display:flex;align-items:center}.b-codon.is-legend{justify-items:end;font-family:var(--font-sans,system-ui),sans-serif;font-size:.7rem;font-weight:700;color:var(--o-faint)}.b-codon.is-legend span{height:1.9rem;display:flex;align-items:center}.b-codon.is-legend span:last-child{height:1.7rem}@media (max-width:559px){.b-codon.is-legend{display:none}}.b-aa{display:inline-flex;align-items:baseline;gap:.25rem;padding:.12rem .5rem;border-radius:99px;background:var(--o-panel-2);border:1px solid var(--o-line);color:var(--o-text);font-size:.78rem;font-weight:800;white-space:nowrap}.b-aa small{font-size:.62rem;font-weight:700;color:var(--o-faint)}.b-aa.is-stop{background:transparent;border-style:dashed;color:#ff8d73;border-color:#ff7d5c}.b-aa.is-changed{background:#ff7d5c;border-color:#ff7d5c;color:#05070b}.b-aa.is-changed small{color:#05070b}.b-proteins{display:grid;gap:.4rem}.b-proteins p{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center}.b-proteins p>span:first-child{width:4.4rem;font-size:.76rem;font-weight:700;color:var(--o-faint)}.b-proteins em,.b-proteins p>span:first-child{font-family:var(--font-sans,system-ui),sans-serif}.b-proteins em{font-style:normal;font-size:.8rem;color:#ff8d73}.b-input{display:grid;gap:.3rem}.b-input span{font-size:.8rem;font-weight:700;color:var(--o-dim)}.b-input input{width:100%;min-height:2.75rem;padding:.5rem .75rem;border-radius:10px;border:1px solid var(--o-line);background:var(--o-panel);color:var(--o-text);font:inherit;font-size:1rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;box-sizing:border-box}.b-input input:focus-visible{outline:2px solid var(--wl);outline-offset:1px}.b-table{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;font-size:.7rem}.b-table-cell{display:grid;gap:1px;padding:.25rem;border-radius:8px;background:var(--o-panel);border:1px solid var(--o-line);min-width:0}.b-table-codon{display:block;text-align:left;padding:.14rem .2rem;border-radius:5px;color:var(--o-dim);white-space:nowrap;overflow:hidden;font:inherit}.b-table-codon b{color:var(--o-text);font-weight:800;letter-spacing:.03em}button.b-table-codon{cursor:pointer;min-height:2.4rem;width:100%}@media (min-width:560px){button.b-table-codon{min-height:1.75rem}}button.b-table-codon:hover{background:var(--o-panel-2)}.b-table-codon.is-stop{color:#ff8d73}.b-table-codon.is-start b{color:var(--wl)}.b-table-codon.is-lit{background:color-mix(in srgb,var(--wl) 22%,transparent);color:var(--o-text)}@media (min-width:560px){.b-table{font-size:.8rem}}.b-punnett-wrap{overflow-x:auto}.b-punnett{border-collapse:separate;border-spacing:4px;margin:0 auto;font-size:.88rem}.b-punnett th{padding:.35rem .5rem;font-weight:800;color:var(--wl);white-space:nowrap;text-align:center}.b-punnett th small{font-size:.66rem}.b-punnett th small,.b-punnett-corner span{display:block;font-weight:700;color:var(--o-faint)}.b-punnett-corner span{font-size:.64rem;text-align:left;white-space:nowrap}.b-punnett td{min-width:3.4rem;padding:.45rem .4rem;border-radius:10px;background:var(--o-panel);border:1px solid var(--o-line);text-align:center;font-weight:800;white-space:nowrap}.b-class-name i,.b-punnett td i{display:block;width:.95rem;height:.95rem;border-radius:99px;border:2px solid;margin:0 auto .25rem;box-sizing:border-box}.b-classes{display:grid;gap:.45rem}.b-class{display:grid;grid-template-columns:minmax(0,9.5rem) minmax(3rem,1fr) auto;gap:.6rem;align-items:center;font-size:.86rem}.b-class-name{display:flex;align-items:center;gap:.45rem;font-weight:700}.b-class-name i{margin:0;flex:none}.b-class-bar{position:relative;height:.7rem;border-radius:99px;background:var(--o-panel-2);overflow:hidden}.b-class-bar b{left:0;border-radius:99px;opacity:.85;transition:width .25s}.b-class-bar b,.b-class-bar em{position:absolute;top:0;bottom:0}.b-class-bar em{width:2px;background:#fff}.b-class-num{font-weight:800;text-align:right}.b-class-num small{display:block;font-size:.72rem;font-weight:600;color:var(--o-faint)}@media (max-width:559px){.b-class{grid-template-columns:minmax(0,1fr) auto}.b-class-bar{grid-column:1/-1;order:3}}.b-pedigree,.b-web{display:block;width:100%;max-width:34rem;margin:0 auto;height:auto}.b-person{cursor:pointer}.b-person:focus{outline:none}.b-person:focus-visible circle,.b-person:focus-visible rect:not([fill=transparent]){stroke:var(--wl);stroke-width:3}.b-patterns{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}@media (min-width:700px){.b-patterns{grid-template-columns:1fr 1fr}}.b-patterns button{display:flex;gap:.6rem;width:100%;min-height:3rem;align-items:flex-start;text-align:left;padding:.55rem .7rem;border-radius:12px;border:1px solid var(--o-line);background:var(--o-panel);color:var(--o-text);font-size:.9rem;font-weight:800;cursor:pointer}.b-patterns button:disabled{cursor:default;opacity:.75}.b-patterns button[aria-pressed=true]{border-color:var(--wl)}.b-patterns b{flex:none;width:1.2rem}.b-patterns .is-ok b{color:var(--wl)}.b-patterns .is-no b{color:#ff7d5c}.b-patterns small{display:block;margin-top:.1rem;font-size:.76rem;font-weight:600;line-height:1.4;color:var(--o-faint)}.b-pyramid{display:grid;gap:4px;justify-items:center}.b-pyramid div{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.1rem .5rem;padding:.4rem .5rem;border-radius:8px;background:color-mix(in srgb,var(--c) 22%,var(--o-panel));border:1px solid color-mix(in srgb,var(--c) 60%,transparent);text-align:center;box-sizing:border-box;min-width:8.5rem}.b-pyramid b{font-weight:800;font-size:.95rem;color:var(--o-text)}.b-pyramid span{font-size:.74rem;font-weight:700;color:var(--o-dim)}.b-cycle{display:block;width:100%;max-width:34rem;margin:0 auto;height:auto}.b-cycle-atom{filter:drop-shadow(0 0 5px var(--wl))}.b-procs{display:grid;grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr));gap:.4rem;padding:.7rem .5rem .2rem}.b-proc{display:grid;gap:.15rem;min-height:3rem;padding:.5rem .7rem;border-radius:12px;border:1px solid var(--o-line);background:var(--o-panel);color:var(--o-text);text-align:left;cursor:pointer}.b-proc:hover{border-color:var(--o-dim)}.b-proc:focus-visible{outline:2px solid var(--wl);outline-offset:1px}.b-proc b{font-size:.88rem;font-weight:800}.b-proc small{font-size:.74rem;font-weight:600;line-height:1.35;color:var(--o-faint)}.b-rel-signs{display:grid;gap:.6rem}@media (min-width:640px){.b-rel-signs{grid-template-columns:1fr 1fr}}.b-rel-signs .b-chips,.b-stage>.o-field .b-chips{padding:.1rem 0 0}.b-chip:disabled{cursor:default;opacity:.6}.b-chip:disabled[aria-pressed=true]{opacity:1}.b-meiosis,.b-rabbit{display:block;width:100%;max-width:34rem;margin:0 auto;height:auto}.b-hw{display:grid;gap:.55rem}.b-hw-row{display:grid;grid-template-columns:5.6rem minmax(0,1fr);gap:.25rem .7rem;align-items:center;font-size:.82rem}.b-hw-gen{font-weight:800;color:var(--o-dim)}.b-hw-bar{display:flex;height:1rem;border-radius:99px;overflow:hidden;background:var(--o-panel-2)}.b-hw-bar b{display:block;height:100%;transition:width .25s}.b-hw-num,.b-hw-p{grid-column:2;display:flex;flex-wrap:wrap;gap:.1rem .8rem;color:var(--o-text);font-weight:700}.b-hw-p{color:var(--o-faint);font-weight:600}.b-hw-p em{font-style:normal;color:var(--wl);font-weight:800}.b-order{display:grid;gap:.6rem}.b-order-line{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}.b-order-line li{display:grid;grid-template-columns:1.8rem minmax(0,1fr);align-items:center;gap:.5rem;min-height:2.5rem;padding:.3rem .6rem;border-radius:10px;border:1px dashed var(--o-line)}.b-order-line li.is-placed{border-style:solid;border-color:color-mix(in srgb,var(--wl) 45%,var(--o-line));background:color-mix(in srgb,var(--wl) 6%,var(--o-panel))}.b-order-line li.is-next{border-color:var(--o-dim)}.b-order-n{font-size:.78rem;font-weight:800;color:var(--o-faint);text-align:center}.b-order-card{display:grid;gap:.05rem;min-width:0}.b-order-card b{font-size:.9rem;font-weight:800;color:var(--o-text)}.b-order-card small{font-size:.76rem;font-weight:600;line-height:1.35;color:var(--o-dim)}.b-order-empty{font-size:.78rem;color:var(--o-faint)}.b-order-deck{display:flex;flex-wrap:wrap;gap:.4rem}.b-order-chip{text-align:left;color:var(--o-text)}.b-order-chip.is-wrong{border-color:#ff7d5c;animation:b-shake .35s}.b-donors{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}@media (min-width:640px){.b-donors{grid-template-columns:repeat(4,minmax(0,1fr))}}.b-donors button{display:grid;gap:.1rem;width:100%;min-height:3.2rem;padding:.45rem .6rem;border-radius:12px;border:1px solid var(--o-line);background:var(--o-panel);color:var(--o-text);text-align:left;cursor:pointer}.b-donors button:focus-visible{outline:2px solid var(--wl);outline-offset:1px}.b-donors button[aria-pressed=true]{border-color:var(--wl);background:color-mix(in srgb,var(--wl) 10%,var(--o-panel))}.b-donors b{font-size:1rem;font-weight:800}.b-donors small{font-size:.72rem;font-weight:600;line-height:1.3;color:var(--o-faint)}.b-donors .is-ok small{color:var(--wl)}.b-donors .is-no button{border-color:#ff7d5c}.b-donors .is-no small{color:#ff9a8a}.b-donors .is-miss button{border-style:dashed;border-color:var(--wl)}.b-corn{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.3rem}@media (min-width:700px){.b-corn{grid-template-columns:repeat(8,minmax(0,1fr))}}.b-corn button{display:grid;justify-items:center;width:100%;min-height:4.6rem;padding:.2rem .1rem .25rem;border-radius:10px;border:1px solid var(--o-line);background:var(--o-panel);cursor:pointer}.b-corn button svg{width:100%;max-width:2.6rem;height:3.4rem}.b-corn button small{font-size:.68rem;font-weight:700;color:var(--o-dim)}.b-corn button[aria-pressed=true]{border-color:var(--wl);background:color-mix(in srgb,var(--wl) 12%,var(--o-panel))}.b-corn button:focus-visible{outline:2px solid var(--wl);outline-offset:1px}.b-corn-trend{display:flex;align-items:flex-end;gap:.25rem;height:4.5rem;padding:0 .2rem;border-bottom:1px solid var(--o-line)}.b-corn-trend span{position:relative;flex:1 1 0;max-width:2.4rem;min-height:2px;border-radius:4px 4px 0 0;background:color-mix(in srgb,#ffb84d 70%,transparent)}.b-corn-trend small{position:absolute;left:0;right:0;top:-1.05rem;text-align:center;font-size:.62rem;font-weight:700;color:var(--o-dim)}