@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750&display=swap";:root{color:#dce7e2;font-synthesis:none;--line:#2a3739;--muted:#8caaa2;--green:#b8e7c9;--panel:#152226;--display:"Manrope",system-ui,sans-serif;background:#101a1d;font-family:DM Sans,system-ui,sans-serif;font-size:16px;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:#dce7e2;background:#1b2c2e;border:1px solid #3a4c4b;border-radius:7px;padding:10px 14px;font-size:.875rem;transition:background .15s,border-color .15s}button:hover{background:#28413f;border-color:#698c7c}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--green);outline-offset:4px}input,select{color:#dce7e2;background:#122023;border:1px solid #364643;border-radius:6px;width:100%;min-width:0;padding:10px 11px;font-size:.875rem}label{color:#a7beb5;font-size:.8rem;display:block}label input,label select{margin-top:7px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display)}.quiet{color:#abc4b8;background:0 0;border-color:#0000}.primary{background:var(--green);border-color:var(--green);color:#14362a;font-weight:700}.primary:hover{background:#d2f8de}.eyebrow{letter-spacing:.15em;color:#89a99b;font-size:.7rem;font-weight:650}.topbar{border-bottom:1px solid var(--line);align-items:center;gap:38px;height:86px;padding:0 30px;display:flex}.brand{font-family:var(--display);letter-spacing:-.055em;align-items:center;gap:11px;font-size:1.4rem;font-weight:750;display:flex}.brand img{width:34px;height:34px}.brand-light{color:#9fb5ad;font-weight:400}.project-label{letter-spacing:.15em;color:#8ca99c;border-left:1px solid #3b4a43;padding-left:30px;font-size:.7rem}.project-label span{letter-spacing:0;background:#253732;border-radius:4px;margin-left:8px;padding:4px 6px}.top-actions{align-items:center;gap:22px;margin-left:auto;display:flex}.credits{color:#c6e5c8;font-size:.875rem}.credits small{color:#82998c;margin-left:6px;font-size:.75rem}.workspace{grid-template-columns:205px minmax(380px,1fr) 335px;max-width:1920px;margin:auto;display:grid}.tank-sidebar{border-right:1px solid var(--line);flex-direction:column;align-items:stretch;min-width:0;padding:35px 16px 20px;display:flex}.tank-sidebar>.eyebrow{margin:0 12px 23px;font-size:.65rem}.tank-link{text-align:left;color:#aabeb6;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:11px;width:100%;margin-bottom:8px;padding:15px 10px;font-size:.8rem;display:flex}.tank-link small{color:#759389;margin-top:6px;font-size:.7rem;display:block}.tank-link.active{color:#d6ecdf;background:#243831;border-color:#3c5547}.tank-number{font-variant-numeric:tabular-nums;color:#7b9c8a;font-size:.7rem}.active .tank-number{color:#b7e6c2}.add-tank{text-align:left;margin-top:7px;padding-left:13px;font-size:.8rem}.sidebar-note{border-top:1px solid var(--line);margin:65px 12px 0;padding-top:24px}.sidebar-note .eyebrow{letter-spacing:.1em;font-size:.62rem}.sidebar-note p{font-family:var(--display);color:#b8d0c2;margin:15px 0;font-size:1rem;line-height:1.7}.sidebar-note>span:last-child{color:#708e80;font-size:.75rem;line-height:1.8}.save-state{color:#759b84;margin:40px 12px 0;font-size:.7rem}main{min-width:0;padding:30px}.tank-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:25px;display:flex}.tank-heading .eyebrow{margin-bottom:9px;font-size:.63rem}h1{letter-spacing:-.055em;font-size:1.8rem;font-weight:500}.count-tag{color:#a5bdb1;white-space:nowrap;border:1px solid #334b42;border-radius:20px;padding:7px 10px;font-size:.7rem}.aquarium{background:#10323b;border:1px solid #355453;border-radius:10px;height:440px;position:relative;overflow:hidden}.tank-canvas{cursor:crosshair;width:100%;height:100%;display:block}.tank-overlay{pointer-events:none;justify-content:space-between;display:flex;position:absolute;top:19px;left:20px;right:20px}.tank-overlay span:first-child{letter-spacing:.18em;color:#a2c7b5;font-size:.6rem}.tank-overlay span:last-child{color:#7caaa1;font-size:.7rem}.tank-controls{justify-content:space-between;align-items:center;gap:10px;display:flex;position:absolute;bottom:14px;left:15px;right:15px}.tank-controls>div{gap:5px;display:flex}.tank-controls button{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#152e31d9;border-color:#3e605855;min-width:38px;padding:8px 12px}.tank-controls>span{color:#99bcb1;font-size:.65rem}.tank-controls .feed-button{color:#19372c;background:#ceeccad9;border-color:#b9d7b680;font-size:.8rem}.empty-tank{text-align:center;width:100%;font-family:var(--display);pointer-events:none;position:absolute;top:45%}.empty-tank small{color:#98b8ad;margin-top:8px;font-family:DM Sans,sans-serif;font-size:.8rem;display:block}.habitat-toolbar{justify-content:space-between;align-items:center;gap:12px;margin:8px 0 26px;display:flex}.habitat-toolbar span{color:#8a9e93;font-size:.65rem}.habitat-toolbar button{padding:8px 0;font-size:.7rem}.breeding-panel{background:linear-gradient(120deg,#21332a,#19282a);border:1px solid #35473f;border-radius:9px;grid-template-columns:1fr auto;gap:22px 14px;padding:22px;display:grid}.breed-intro{grid-column:1/-1}.breed-intro .eyebrow{font-size:.62rem}.breed-intro h2{letter-spacing:-.035em;margin-top:9px;font-size:1.23rem;font-weight:500}.breed-intro p{color:#96ad9e;margin-top:8px;font-size:.78rem}.parent-pickers{align-items:center;gap:10px;min-width:0;display:flex}.parent-pickers label{flex:1;min-width:0}.parent-pickers select{font-size:.77rem}.cross{color:#7a9b84;padding-top:20px}.breed-action{align-self:end}.breed-action button{padding:12px;font-size:.77rem}.breed-action button span{margin-left:10px}.breed-action small{text-align:center;color:#98b09d;margin-top:9px;font-size:.63rem;display:block}.lab-note{color:#849a8d;grid-column:1/-1;font-size:.68rem;line-height:1.55}.status-line{color:#b8ccbf;min-height:60px;padding:17px 2px;font-size:.77rem;line-height:1.6}.collection-heading{justify-content:space-between;align-items:center;margin:12px 0;display:flex}.collection-heading h2{letter-spacing:-.03em;font-size:1.08rem;font-weight:500}.collection-heading h2 span{color:#8bab95;background:#21342a;border-radius:6px;margin-left:8px;padding:3px 7px;font-size:.75rem}.collection-heading button{font-size:.72rem}.collection-toolbar{gap:10px;margin:15px 0;display:flex}.collection-toolbar input{flex:1;font-size:.8rem}.collection-toolbar button{white-space:nowrap;font-size:.72rem}.collection-toolbar button span{color:#adc898;margin-left:10px}.fish-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.fish-card{background:#16292c;border:1px solid #2d4140;border-radius:8px;flex-direction:column;min-width:0;padding:0;display:flex;overflow:hidden}.fish-card-main{width:100%;color:inherit;text-align:left;background:0 0;border:0;border-radius:0;padding:12px 12px 8px;display:block}.fish-card-main:hover{background:#203733}.fish-card-main:focus-visible{outline-offset:-3px}.fish-card.batched{border-color:#d9b86c;box-shadow:inset 0 0 0 1px #d9b86c80}.batch-check{color:#9fb6aa;cursor:pointer;border-top:1px solid #253b37;align-items:center;gap:8px;min-height:40px;margin-top:auto;padding:0 12px;font-size:.7rem;display:flex}.batch-check input{accent-color:#d9b86c;cursor:pointer;width:18px;height:18px;min-height:0;margin:0;padding:0}.fish-card.batched .batch-check{color:#ecd79f;background:#2b2e20}.sex-mark{vertical-align:middle;align-items:center;gap:5px;font-weight:700;line-height:1;display:inline-flex}.sex-symbol{font-size:1.35rem}.sex-mark.female{color:#ff8cc6}.sex-mark.male{color:#6db9ff}.sex-label{font-size:.78rem;font-weight:600}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fish-card-top{align-items:center;min-height:24px}.picker-label{align-items:center;gap:6px;display:inline-flex}.collection-filters{flex-wrap:wrap;align-items:center;gap:8px 10px;margin:-4px 0 14px;display:flex}.sex-filter{flex-wrap:wrap;gap:6px;display:flex}.sex-filter button,.pill-toggle,.goal-leaders button{color:#a9c0b5;background:#152629;border-color:#2f4541;border-radius:999px;align-items:center;gap:7px;min-height:40px;padding:6px 14px;font-size:.76rem;display:inline-flex}.sex-filter button:hover,.pill-toggle:hover,.goal-leaders button:hover{background:#203733}.sex-filter button[aria-pressed=true],.pill-toggle[aria-pressed=true]{color:#e3f1e5;background:#284037;border-color:#94b995}.pill-toggle>span:first-child{color:#e8c46c}.sex-filter .sex-symbol,.goal-leaders .sex-symbol{font-size:1.15rem}.filter-count{color:#86a195;background:#0f1d20;border-radius:6px;padding:2px 6px;font-size:.66rem}.sex-filter button[aria-pressed=true] .filter-count,.pill-toggle[aria-pressed=true] .filter-count{color:#cfe6d3;background:#1b2e28}.inline-select{color:#9fb6aa;align-items:center;gap:8px;font-size:.72rem;display:inline-flex}.inline-select select{width:auto;max-width:220px;min-height:40px;margin:0;font-size:.74rem}.fish-card>.fish-card-top{padding:8px 10px 0 12px}.card-marks{align-items:center;gap:4px;display:inline-flex}.favorite-toggle{color:#7f988d;background:0 0;border:0;min-width:32px;min-height:32px;padding:0 6px;font-size:1.15rem;line-height:1}.favorite-toggle:hover{color:#e8c46c;background:#203733}.favorite-toggle[aria-pressed=true]{color:#e8c46c}.fish-card-main{padding-top:4px}.goal-chip{color:#bfe0c1;font-variant-numeric:tabular-nums;background:#213a31;border-radius:5px;margin-top:6px;padding:3px 6px;font-size:.62rem;display:inline-block}.goal-row{flex-wrap:wrap;grid-column:1/-1;align-items:end;gap:10px 14px;display:flex}.goal-picker{flex:0 220px;min-width:180px}.goal-picker select{font-size:.77rem}.direction-toggle{border:1px solid #3b5248;border-radius:9px;gap:3px;padding:3px;display:flex}.direction-toggle button{color:#a9c0b5;background:0 0;border:0;padding:7px 10px;font-size:.74rem}.direction-toggle button[aria-pressed=true]{color:#e6f4e6;background:#35513f}.goal-leaders{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.goal-leaders>span{color:#9fb6aa;margin-right:2px;font-size:.7rem}.goal-hint{color:#8ea69b;flex:220px;align-self:center;font-size:.7rem;line-height:1.5}.cohort-parents{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 12px;display:grid}.cohort-parent{text-align:left;background:#1b302b;border-color:#344b3c;align-items:center;gap:10px;padding:8px;display:flex}.cohort-parent .portrait{flex:none;width:90px}.cohort-parent strong{font-size:.78rem;font-weight:500;display:block}.cohort-parent small{color:#91a997;margin-top:4px;font-size:.64rem;line-height:1.4;display:block}@media (width<=650px){.fish-card>.fish-card-top{padding:7px 8px 0 10px}.cohort-parents{grid-template-columns:1fr}.inline-select select{max-width:160px}}.picker-label .sex-symbol{font-size:1.1rem}.relative small .sex-symbol{font-size:1rem}.batch-bar{background:#142528;border:1px solid #2f4541;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin:0 0 12px;padding:6px 8px 6px 14px;display:flex}.batch-summary{color:#9fb6aa;font-size:.74rem;line-height:1.5}.batch-summary strong{color:#ecd79f;font-size:.92rem}.batch-actions{flex-wrap:wrap;gap:6px;display:flex}.batch-actions button{font-size:.72rem}.batch-sell,.batch-review-actions .confirm{color:#2f2410;background:#d9b86c;border-color:#d9b86c;font-weight:700}.batch-sell:hover,.batch-review-actions .confirm:hover{background:#ecd08d;border-color:#ecd08d}.batch-review{background:#2b2a1e;border:1px solid #8a7440;border-radius:9px;margin:0 0 14px;padding:16px}.batch-review h3{color:#f1e6c2;font-size:.95rem;font-weight:600}.batch-review p{color:#cfc4a0;margin:6px 0 12px;font-size:.74rem;line-height:1.6}.batch-review ul{border-top:1px solid #4a4430;max-height:220px;margin:0 0 14px;padding:0;list-style:none;overflow:auto}.batch-review li{color:#eee3c3;border-bottom:1px solid #4a4430;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 2px;font-size:.76rem;display:grid}.batch-review li small{color:#b3a881;margin-left:8px;font-size:.65rem}.batch-review-actions{flex-wrap:wrap;gap:8px;display:flex}.fish-card.selected{background:#23382f;border-color:#94b995}.fish-card-top{color:#89a493;justify-content:space-between;font-size:.65rem;display:flex}.fish-card-top span:first-child{font-family:monospace}.portrait{aspect-ratio:260/140;width:100%;height:auto;display:block}.fish-card-bottom strong{overflow-wrap:anywhere;font-size:.78rem;font-weight:500;display:block}.fish-card-bottom small{color:#90a99b;margin-top:4px;font-size:.64rem;display:block}.inspector{border-left:1px solid var(--line);background:#152226;min-width:0;padding:30px 24px}.inspector-heading{justify-content:space-between;align-items:center;display:flex}.inspector-heading .eyebrow{font-size:.64rem}.generation{color:#b7d7a9;background:#263c2d;border:1px solid #446144;border-radius:5px;padding:4px 7px;font-family:monospace;font-size:.72rem}.hero-portrait{background:radial-gradient(#34503b50,#0000 68%);margin:15px -9px 18px;position:relative}.hero-portrait>span{text-align:center;letter-spacing:.16em;color:#719185;margin-top:-9px;font-size:.55rem;display:block}.portrait.large{aspect-ratio:600/330}.fish-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.fish-title h2{letter-spacing:-.05em;overflow-wrap:anywhere;min-width:0;font-size:1.85rem;font-weight:500}.fish-title>span{color:#9eb4a4;white-space:nowrap;font-size:.7rem}.fish-subtitle{color:#8fa799;margin-top:6px;font-size:.72rem}.inspector-tabs{border-bottom:1px solid #32423b;margin:24px 0;display:flex}.inspector-tabs button{color:#8fa69a;background:0 0;border:0;border-radius:0;flex:1;padding:12px 8px;font-size:.78rem}.inspector-tabs button.active{color:#d8ecd9;border-bottom:2px solid #bfdfb5}.rename-form{align-items:end;gap:7px;display:flex}.rename-form label{flex:1;font-size:.7rem}.rename-form button{margin-bottom:1px;font-size:.75rem}.rename-form input{font-size:.8rem}.facts{gap:18px;margin:26px 0;display:grid}.facts>div{justify-content:space-between;gap:10px;display:flex}.facts dt{color:#9bb1a4;font-size:.73rem}.facts dd{color:#d6e6d7;text-align:right;margin:0;font-size:.75rem}.trait-block{border-top:1px solid #32443a;padding-top:24px}.trait-block .eyebrow{margin-bottom:18px;font-size:.6rem}.trait{color:#9eb6a8;grid-template-columns:85px 1fr 25px;align-items:center;gap:8px;margin:12px 0;font-size:.72rem;display:grid}.trait>span:last-child{text-align:right;color:#a4c399;font-size:.66rem}meter{background:#2a3c33;border:0;border-radius:10px;width:100%;height:6px}meter::-webkit-meter-bar{background:#2a3c33;border:0;height:6px}meter::-webkit-meter-optimum-value{background:#93ba85}meter::-moz-meter-bar{background:#93ba85}.fish-actions{border-top:1px solid #32443a;flex-direction:column;gap:12px;margin-top:25px;padding-top:20px;display:flex}.fish-actions label{font-size:.7rem}.fish-actions select,.fish-actions button{font-size:.75rem}.fish-actions .sell{color:#bca99c;font-size:.7rem}.sale-confirm p{margin-bottom:10px;font-size:.75rem;line-height:1.6}.genome-fingerprint{justify-content:space-between;gap:8px;font-size:.75rem;display:flex}.genome-fingerprint code{color:#d4dbb1}.help-copy,.archive-note{color:#97ada0;margin:15px 0;font-size:.75rem;line-height:1.7}.chromosome{margin:22px 0}.chromosome h3,.family-view h3{color:#b9d5bd;margin-bottom:12px;font-size:.7rem;font-weight:500}.locus{color:#9aafa1;border-bottom:1px solid #273932;grid-template-columns:1fr 27px 27px;gap:8px;padding:8px 0;font-size:.72rem;display:grid}.locus code{text-align:center;color:#b7cdb3;background:#263c31;border-radius:3px;padding:2px}.locus.mutated span{color:#e2c17e}.marking-blocks{border-top:1px solid #32443a;margin-top:26px;padding-top:18px}.marking-blocks h3{color:#b9d5bd;font-size:.7rem;font-weight:500}.marking-blocks ol{margin:0;padding:0;list-style:none}.marking-blocks li{color:#9aafa1;border-bottom:1px solid #273932;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 0;font-size:.72rem;display:grid}.marking-blocks li>span:last-child{color:#b7cdb3;text-align:right;font-size:.66rem}.marking-blocks li small{color:#7f9a8c;margin-top:3px;font-size:.64rem;display:block}.marking-blocks li.muted{opacity:.55}.marking-swatch{border-radius:50%;width:12px;height:12px}.marking-swatch.warm{background:#e07a3c}.marking-swatch.dark{background:#182526;box-shadow:0 0 0 1px #7d978c}.relative{text-align:left;background:#1b302b;border-color:#344b3c;align-items:center;gap:9px;width:100%;margin-bottom:8px;padding:8px;display:flex}.relative .portrait{width:65px}.relative strong{overflow-wrap:anywhere;font-size:.75rem;font-weight:500}.relative small{color:#91a997;margin-top:5px;font-size:.63rem;display:block}.relative>span:last-child{color:#9bc294;margin-left:auto}.family-self{border-left:1px solid #718c6a;margin:20px;padding:14px 20px;font-size:.85rem}.family-self small{color:#98b497;margin-top:5px;font-size:.7rem;display:block}.empty-copy{color:#8da89b;padding:12px 0;font-size:.8rem;line-height:1.6}.warning{color:#ede3bf;background:#373420;border:1px solid #a39356;margin-bottom:20px;padding:15px;font-size:.85rem;line-height:1.6}footer{border-top:1px solid var(--line);color:#88a08e;gap:25px;padding:22px 30px;font-size:.7rem;display:flex}footer span{color:#6f8b7b}footer a{margin-left:auto}button,input,select{min-height:36px}@media (width>=1550px){.workspace{grid-template-columns:230px minmax(400px,1fr) 360px}main{padding:35px 40px}.aquarium{height:550px}.fish-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.breeding-panel{grid-template-columns:1fr 1.3fr auto;align-items:center}.breed-intro{grid-column:auto}.breed-action{align-self:center}.lab-note{grid-column:1/-1}}@media (width<=1180px){.workspace{grid-template-columns:165px minmax(300px,1fr) 290px}main{padding:24px 20px}.inspector{padding:25px 18px}.tank-sidebar{padding:30px 9px}.tank-link{gap:6px;font-size:.7rem}.tank-sidebar>.eyebrow{font-size:.6rem}.breeding-panel{grid-template-columns:1fr;gap:17px;padding:18px}.breed-action{justify-content:space-between;align-items:center;gap:10px;display:flex}.breed-action small{margin:0}.fish-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-toolbar{flex-wrap:wrap}.collection-toolbar input{flex-basis:100%}.aquarium{height:400px}.count-tag{display:none}.habitat-toolbar span{max-width:220px;line-height:1.6}.topbar{gap:22px;padding:0 20px}.project-label{padding-left:20px}}@media (width<=900px){.workspace{grid-template-columns:minmax(0,1fr) 290px}.tank-sidebar{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;grid-column:1/-1;align-items:center;gap:10px;padding:12px 20px;overflow:auto}.tank-sidebar>.eyebrow,.sidebar-note,.save-state{display:none}.tank-sidebar nav{gap:7px;display:flex}.tank-link{width:165px;margin:0;padding:10px}.add-tank{white-space:nowrap;margin:0}.top-actions{gap:7px}.project-label{display:none}.topbar{height:72px}.aquarium{height:370px}.tank-controls>span{display:none}h1{font-size:1.6rem}footer{flex-wrap:wrap;gap:10px}footer a{margin-left:0}}@media (width<=650px){.workspace{flex-direction:column;display:flex}.topbar{padding:0 16px}.brand{gap:7px;font-size:1.2rem}.brand img{width:27px;height:27px}.credits{font-size:.75rem}.credits small{display:none}.top-actions .quiet{padding:8px;font-size:.7rem}.tank-sidebar{padding:10px 16px}.tank-link{width:155px}.inspector{border-left:0;border-top:1px solid var(--line);padding:25px 22px}.inspector-heading,.hero-portrait,.fish-title,.fish-subtitle,.inspector-tabs,.rename-form,.facts,.trait-block,.fish-actions,.genome-view,.family-view{max-width:470px;margin-left:auto;margin-right:auto}main{padding:24px 16px}.aquarium{height:365px}.fish-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.fish-card-main{padding:10px 10px 6px}.batch-check{padding:0 10px}.collection-toolbar{flex-wrap:nowrap}.collection-toolbar input{flex-basis:auto}.collection-toolbar button span{display:none}.breed-action{display:block}.breed-action button{width:100%}.breed-action small{margin-top:10px}.hero-portrait{max-width:380px}.habitat-toolbar{margin-bottom:15px}.tank-heading{margin-bottom:20px}footer{padding:20px 16px;line-height:1.7}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.fixture-lab{max-width:1500px;margin:0 auto;padding:42px 44px 70px}.fixture-hero{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:30px;padding-bottom:30px;display:flex}.fixture-hero h1{margin:9px 0 10px;font-size:2.35rem}.fixture-hero p{color:#91aaa0;max-width:720px;font-size:.86rem;line-height:1.65}.fixture-actions{flex-wrap:wrap;gap:9px;display:flex}.fixture-summary{background:var(--line);border:1px solid var(--line);border-radius:9px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:26px 0 54px;display:grid;overflow:hidden}.fixture-summary span{color:#8fa69b;background:#152226;padding:18px;font-size:.75rem}.fixture-summary strong{color:#dce9df;font-family:var(--display);margin-bottom:4px;font-size:1.35rem;display:block}.fixture-section{margin:0 0 65px}.fixture-section-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:22px;display:flex}.fixture-section-heading h2,.fixture-findings h2{letter-spacing:-.035em;margin-top:8px;font-size:1.35rem;font-weight:500}.fixture-section-heading>p{color:#82988e;text-align:right;max-width:390px;font-size:.7rem;line-height:1.6}.fixture-grid{gap:12px;display:grid}.fixture-grid.founders{grid-template-columns:repeat(6,minmax(0,1fr))}.fixture-grid.children{grid-template-columns:repeat(10,minmax(0,1fr));margin-top:18px}.fixture-card{background:#16272a;border:1px solid #2d4140;border-radius:8px;min-width:0;padding:12px}.fixture-card-heading{color:#829f91;justify-content:space-between;gap:7px;font-family:monospace;font-size:.58rem;display:flex}.fixture-card-heading code{text-overflow:ellipsis;overflow:hidden}.fixture-card h3{margin:4px 0 9px;font-size:.78rem;font-weight:500}.fixture-card>small{color:#718c80;margin-top:10px;font-size:.58rem;line-height:1.5;display:block}.fixture-measures{flex-wrap:wrap;gap:5px;display:flex}.fixture-measures span{color:#87a498;background:#213632;border-radius:4px;padding:4px 5px;font-size:.56rem}.fixture-measures strong{color:#c8dec8;font-weight:500}.fixture-card.compact{padding:8px}.fixture-card.compact h3{font-size:.68rem}.fixture-card.compact .fixture-measures,.fixture-card.compact>small{display:none}.fixture-parents{grid-template-columns:180px 24px 180px;align-items:center;gap:10px;display:grid}.fixture-parents>span{text-align:center;color:#789487}.fixture-table-wrap{margin-top:25px;overflow-x:auto}.fixture-table{border-collapse:collapse;width:100%;font-size:.72rem}.fixture-table caption{text-align:left;color:#91a99e;padding:0 0 10px}.fixture-table th,.fixture-table td{text-align:right;font-variant-numeric:tabular-nums;border-bottom:1px solid #263a35;padding:9px 12px}.fixture-table th:first-child{text-align:left;color:#b5cabb}.fixture-table thead th{color:#7f998d;font-weight:500}.extreme-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.extreme-card{background:#142326;border:1px solid #30433d;border-radius:9px;grid-template-columns:minmax(0,1fr) minmax(160px,.8fr);gap:14px;padding:12px;display:grid}.extreme-card>.fixture-card{background:0 0;border:0;padding:0}.fixture-bars{align-self:center}.fixture-bars>div{color:#88a095;grid-template-columns:78px 1fr 31px;align-items:center;gap:7px;margin:7px 0;font-size:.58rem;display:grid}.fixture-bars strong{text-align:right;color:#a9c9ad;font-weight:500}.fixture-findings{background:#302f21;border:1px solid #6c6841;border-radius:9px;grid-template-columns:minmax(230px,.7fr) minmax(300px,1.3fr);gap:40px;padding:28px;display:grid}.fixture-findings ul{color:#c8c7a9;margin:0;padding-left:19px;font-size:.8rem;line-height:1.75}.fixture-findings li+li{margin-top:8px}.framing-toggle{border:1px solid #2f4541;border-radius:9px;gap:3px;padding:3px;display:flex}.framing-toggle button{color:#9db5aa;background:0 0;border:0;padding:8px 11px;font-size:.75rem}.framing-toggle button[aria-pressed=true]{color:#e0f0e3;background:#284037}.fixture-adjustments{color:#d8c98f;margin:9px 0 0;padding-left:15px;font-size:.62rem;line-height:1.5}.fixture-note{color:#8ea69b;margin-top:12px;font-size:.72rem;line-height:1.6}.framing-note{margin:-34px 0 40px}.view-switch{gap:2px;display:flex}.view-switch button[aria-current=page]{color:#e3f1e5;background:#233832}.study-progress{color:#9fb6aa;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:16px;font-size:.75rem;display:flex}.study-progress progress{accent-color:#9fd89b;flex:160px;height:8px}.mode-badge{letter-spacing:.02em;color:#d7ecd9;background:#284037;border-radius:999px;padding:5px 9px;font-size:.68rem;font-weight:600}.mode-badge.silhouette{color:#d4dcf2;background:#2d3547}.mode-badge.pattern{color:#f1dfbf;background:#433524}.study-trial h2{letter-spacing:-.03em;font-size:1.35rem;font-weight:500}.study-cohort{background:#132326;border:1px solid #2f4541;border-radius:9px;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0 22px;padding:12px;display:grid}.study-fish{min-width:0;margin:0}.study-fish figcaption{color:#86a195;text-align:center;margin-top:2px;font-size:.64rem}.study-pairs{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.study-pair{background:#142326;border:1px solid #30433d;border-radius:9px;flex-direction:column;gap:10px;padding:12px;display:flex}.study-pair h3{font-size:.9rem;font-weight:500}.study-pair-fish{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.study-pair button{min-height:44px}.study-cue{max-width:560px;margin-top:18px}.study-trial>.quiet{margin-top:12px}.study-details{color:#a9c0b5;margin:18px 0;font-size:.78rem}.study-details summary{cursor:pointer;align-items:center;min-height:36px;display:flex}.study-details ol{padding-left:22px;line-height:1.8}.study-record{margin:16px 0 12px}.study-record textarea{color:#cfe0d4;resize:vertical;background:#0f1d20;border:1px solid #364643;border-radius:6px;width:100%;margin-top:8px;padding:10px;font:.72rem/1.5 monospace}.selection-start{flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.selection-start .help-copy{margin:0}.selection-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:22px;display:grid}.trend-card{background:#142326;border:1px solid #30433d;border-radius:9px;padding:12px}.trend-card h3{margin-bottom:6px;font-size:.82rem;font-weight:500}.trend-card svg{width:100%;height:auto;display:block}.trend-band{fill:#2b4a3d;opacity:.55}.trend-axis{stroke:#2a3c37;stroke-width:1px}.trend-selected{fill:none;stroke:#9fd89b;stroke-width:2.4px;stroke-linejoin:round}.trend-control{fill:none;stroke:#d9b86c;stroke-width:1.8px;stroke-dasharray:5 4}.trend-card p{color:#9fb6aa;flex-wrap:wrap;gap:4px 10px;margin-top:6px;font-size:.66rem;display:flex}.legend.selected{color:#9fd89b}.legend.control{color:#d9b86c}.trend-pass{color:#cfe6d3;margin-left:auto}.trend-fail{color:#f0b49a;margin-left:auto}@media (width<=900px){.selection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=650px){.study-cohort{grid-template-columns:repeat(2,minmax(0,1fr))}.study-pairs,.selection-grid{grid-template-columns:1fr}}@media (width<=1180px){.fixture-grid.founders{grid-template-columns:repeat(3,minmax(0,1fr))}.fixture-grid.children{grid-template-columns:repeat(5,minmax(0,1fr))}.extreme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.fixture-lab{padding:28px 16px 50px}.fixture-hero,.fixture-section-heading{display:block}.fixture-actions{margin-top:20px}.fixture-section-heading>p{text-align:left;margin-top:9px}.fixture-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:42px}.fixture-grid.founders,.fixture-grid.children{grid-template-columns:repeat(2,minmax(0,1fr))}.fixture-parents{grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr)}.extreme-grid,.extreme-card{grid-template-columns:1fr}.fixture-findings{grid-template-columns:1fr;gap:15px}.top-actions{gap:5px}.top-actions button{padding:8px;font-size:.65rem}}.app-shell{position:relative}.skip-link{z-index:30;background:var(--green);color:#14362a;border-radius:7px;padding:12px 16px;font-size:.85rem;font-weight:700;position:absolute;top:-80px;left:12px}.skip-link:focus{top:12px}.skip-link+.skip-link:focus{left:190px}.topbar{flex-wrap:wrap;row-gap:10px;height:auto;min-height:86px;padding-top:10px;padding-bottom:10px}.top-actions{flex-wrap:wrap;justify-content:flex-end;row-gap:6px}.trait{grid-template-columns:minmax(5.5em,max-content) minmax(0,1fr) 2.4em}.locus{grid-template-columns:minmax(0,1fr) 2.6em 2.6em}.fixture-bars>div{grid-template-columns:minmax(5.5em,max-content) minmax(0,1fr) 2.6em}.inspector:focus,.collection:focus,.fish-title h2:focus{outline:none}.fish-title h2:focus-visible{outline:2px solid var(--green);outline-offset:4px;border-radius:3px}.inspector-heading-actions{align-items:center;gap:8px;display:inline-flex}.back-to-card{padding:6px 8px;font-size:.7rem}footer a{align-items:center;min-height:24px;display:inline-flex}@media (width<=900px){.topbar{min-height:72px}}.inspector-heading{flex-wrap:wrap;gap:6px 10px}.inspector-tabs{flex-wrap:wrap}.inspector-tabs button{flex:auto;min-width:0}.rename-form{flex-wrap:wrap}.rename-form label{min-width:10em}.fish-actions button,.sale-confirm button{white-space:normal;max-width:100%}@media (pointer:coarse){button,select,input:not([type=checkbox]){min-height:44px}.favorite-toggle{min-width:44px;min-height:44px}.batch-check{min-height:48px}.batch-check input{width:24px;height:24px}.tank-controls button{min-width:44px}.tank-link,.inspector-tabs button{min-height:48px}.brand,footer a,.skip-link,.sex-filter button,.pill-toggle,.goal-leaders button,.inline-select select,.direction-toggle button,.back-to-card{min-height:44px}}.save-navigation{justify-content:flex-end;align-items:center;gap:1rem;padding:.5rem 2rem;display:flex}.save-panel{overflow-wrap:anywhere;background:#122c2c;border:1px solid #41635d;border-radius:1rem;max-width:70rem;margin:1rem auto;padding:1.5rem}.save-panel p{line-height:1.6}.save-panel label{gap:.5rem;margin:1rem 0;display:grid}.save-panel input{max-width:100%}.save-panel textarea{resize:vertical;color:#e1eee6;background:#0b2025;width:100%;min-height:8rem;font:.875rem monospace}.save-actions,.pagination{flex-wrap:wrap;align-items:center;gap:.75rem;margin:1rem 0;display:flex}.import-preview{border:1px solid #78a591;margin:1rem 0;padding:1rem}.save-navigation .save-state{margin:0;padding:0;display:block}
