:root{color-scheme:dark;--gold:#e7bd55;--muted:#aaa49a;--line:#43392c}*{box-sizing:border-box}body{margin:0;background:#101010;color:#f5f0e8;font:16px system-ui,-apple-system,Segoe UI,sans-serif}button,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:inherit;text-decoration:none}.wrap{max-width:960px;margin:auto;padding:22px 22px 64px}.top{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #39332b;padding-bottom:16px}.brand{display:flex;align-items:center;gap:10px;color:var(--gold);font-weight:800;letter-spacing:.08em}.brand img{width:38px;height:38px;object-fit:contain}.back{font-size:13px;color:#c7bfae}.back:hover{color:var(--gold)}.eyebrow{color:var(--gold);font-size:11px;font-weight:750;letter-spacing:.14em;margin:30px 0 5px}h1{font-size:clamp(29px,5vw,42px);letter-spacing:-.035em;margin:0}h1 span{font-size:28px}h2{font-size:19px;margin:4px 0 8px}.muted{color:var(--muted);line-height:1.5}.intro{margin:6px 0 26px}.modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:25px}.mode{background:#1b1b1b;border:1px solid #3e3a33;color:#f5f0e8;border-radius:16px;min-height:132px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;padding:15px}.mode.selected{background:#302719;border-color:var(--gold)}.modeicon{font-size:28px;color:var(--gold)}.mode strong{font-size:16px}.mode small{color:var(--muted);font-size:12px}.parents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.parent{background:#1b1b1b;border:1px solid var(--line);border-radius:16px;padding:14px;min-width:0}.portrait{height:165px;background:#151515;border-radius:11px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:12px}.portrait img{width:100%;height:100%;object-fit:cover}.portrait img[src="/ingecktion-logo.png"]{object-fit:contain;padding:28px}.parent label{display:block;color:var(--gold);font-size:13px;font-weight:800;margin-bottom:8px}select{width:100%;min-width:0;border:1px solid #4b4030;background:#101010;color:#f5f0e8;border-radius:9px;padding:12px 8px}.small{font-size:12px;min-height:18px;overflow-wrap:anywhere}.primary{display:block;width:100%;background:linear-gradient(130deg,#f1d27c,#c79a3c);border:1px solid #f1d27c;color:#141008;border-radius:11px;padding:14px;font-weight:800;margin:18px 0 0}.primary:hover{filter:brightness(1.07)}fieldset{border:0;padding:0;margin:18px 0}.choice{display:block;background:#1c1c1c;border:1px solid #39342d;border-radius:10px;padding:15px;margin-bottom:9px;cursor:pointer}.choice:has(input:checked){border-color:var(--gold);background:#292318}.choice input{accent-color:#d6ac50;margin-right:9px}.results{background:#1b1b1b;border:1px solid #51452f;border-radius:16px;padding:20px;margin-top:25px}.resultTop{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.pill{font-size:11px;color:var(--gold);border:1px solid #66522c;padding:6px 9px;border-radius:30px}.result{background:#242424;border:1px solid #39342d;border-radius:11px;padding:13px;margin:9px 0}.result strong{color:#f5e1ad}.row{display:flex;justify-content:space-between;align-items:center;gap:14px}.row span:last-child{color:var(--gold);white-space:nowrap}.sectiontitle{color:var(--gold);font-size:15px;margin:24px 0 12px}.fineprint{color:#928a7c;font-size:12px;line-height:1.6;margin-top:24px}.notice{border-left:3px solid var(--gold);padding:10px 12px;background:#2a241b;color:#e3d2ae;font-size:13px;margin:12px 0}.empty{padding:18px;border:1px dashed #4b4030;border-radius:12px;color:var(--muted)}.candidate{border:1px solid #4b4030;border-radius:12px;padding:15px;margin:12px 0;background:#23201c}.candidate h3{font-size:16px;margin:0 0 8px}.candidate p{font-size:13px;color:#c6bcae;margin:5px 0}.candidate button{background:#171717;color:var(--gold);border:1px solid #66522c;padding:10px 13px;border-radius:9px;margin-top:10px}.sr{position:absolute;left:-9999px}[hidden]{display:none!important}@media(max-width:600px){.wrap{padding:16px 14px 44px}.top{gap:8px}.brand{font-size:12px}.back{font-size:12px}.modes{gap:9px}.mode{min-height:120px;padding:10px}.mode strong{font-size:14px}.parent{padding:10px}.portrait{height:125px}.parent select{font-size:14px;padding:10px 5px}.results{padding:14px}.row{align-items:flex-start}.row span:last-child{white-space:normal;text-align:right}}
/* V28: Target Planner Custom Goal only */
.choiceHint{display:block;color:var(--muted);font-size:12px;margin:5px 0 0 27px}.customPanel{background:#191714;border:1px solid #59482a;border-radius:13px;padding:16px;margin:12px 0 18px}.customPanel h3{margin:0 0 8px;font-size:17px;color:#f5f0e8}.fieldLabel{display:block;margin:15px 0 7px;font-weight:650;font-size:13px;color:#f0d494}#goalSearch{width:100%;padding:13px;background:#101010;color:#f5f0e8;border:1px solid #645335;border-radius:9px;font:inherit}.suggestions{background:#242019;border:1px solid #66522c;border-radius:9px;margin-top:5px;max-height:195px;overflow:auto}.suggestions button{display:block;width:100%;text-align:left;padding:11px 13px;border:0;border-bottom:1px solid #3e3526;background:transparent;color:#f5f0e8;font:inherit}.suggestions button:hover{background:#40331e}.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.chips:empty{display:none}.chips button{border:1px solid #876c35;background:#3a2e1c;color:#f1d083;border-radius:22px;padding:7px 11px;font-size:12px}.roadmap{margin-top:18px}.roadstep{border-left:2px solid #b68d3c;padding:4px 0 15px 15px;margin-left:7px}.roadstep h4{margin:0 0 7px;color:#f1d083}.roadstep p{font-size:13px;color:#c8c0b1;line-height:1.5;margin:6px 0}.roadstep details{font-size:13px;color:#c8c0b1;margin-top:9px}.roadstep summary{color:#e6bd61;cursor:pointer}.roadmap .notice{margin-top:16px}@media(max-width:600px){.customPanel{padding:13px}}

/* V31 — Target Planner visual paths and age/weight screening */
.strategy-card{background:#211e19;border:1px solid #66512d;border-radius:14px;padding:16px;margin:13px 0}.strategy-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.strategy-heading h3{margin:0;color:#f4d78e;font-size:16px}.strategy-card p{font-size:13px;line-height:1.55;color:#c9c1b4}.strategy-tag{font-size:11px;border:1px solid #786239;border-radius:20px;padding:5px 9px;color:#e9c979}.view-path{border:1px solid #d5a74c;border-radius:9px;background:#d6ae5b;color:#1a140b;font-weight:750;padding:11px 14px;margin-top:7px}.path-detail{margin-top:16px}.path-canvas{border:1px solid #4e412c;background:#151515;border-radius:13px;padding:16px;display:flex;flex-direction:column;align-items:stretch;gap:10px}.path-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.path-columns>div{display:flex;flex-direction:column;gap:10px;min-width:0}.path-node{border:1px solid #947744;border-radius:9px;background:#28241c;text-align:center;padding:12px 8px;overflow-wrap:anywhere}.path-node strong{display:block;color:#f2d68e;font-size:13px}.path-node small{display:block;color:#ccc4b4;font-size:11px;margin-top:6px;line-height:1.4}.path-node.generation{background:#4a391b}.path-node.external{border-style:dashed;border-color:#5aafa0;background:#19332f}.path-connector{text-align:center;color:#d5b16c;font-size:12px;padding:5px}.readiness-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px}.readiness-item{display:flex;flex-direction:column;align-items:flex-start;gap:7px;background:#24221e;border:1px solid #40382a;border-radius:10px;padding:12px}.readiness-item strong{font-size:14px}.readiness{font-size:11px;border-radius:20px;padding:5px 9px;border:1px solid #777}.readiness.screened{color:#b7e3bb;border-color:#43804a}.readiness.future{color:#f0d28b;border-color:#b28a3b}.readiness.verify{color:#c9c9c9;border-color:#777}@media(max-width:520px){.strategy-card{padding:12px}.path-canvas{padding:9px}.path-columns{gap:7px}.path-node{padding:10px 5px}.path-node strong{font-size:11px}.path-node small{font-size:10px}}

/* V34 — compact, responsive diagram outcomes */
.path-outcome{border:1px solid #c39a4b;border-radius:11px;background:#302718;padding:15px 12px;display:flex;flex-direction:column;gap:9px;min-width:0;overflow-wrap:anywhere}.outcome-heading{font-size:13px;color:#e9bd60;font-weight:800;text-align:center}.outcome-title{font-size:15px;color:#f8d991;text-align:center}.path-outcome p{font-size:12px;line-height:1.5;color:#d6ccbc;margin:0;text-align:center}.outcome-evidence{display:flex;flex-direction:column;gap:4px;border-top:1px solid #655034;padding-top:9px}.outcome-evidence b,.outcome-pros b{color:#f0ce83;font-size:11px}.outcome-evidence span,.outcome-pros span{color:#cfc5b4;font-size:11px;line-height:1.5}.outcome-pros{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border-top:1px solid #655034;padding-top:10px}.outcome-pros>div{min-width:0;display:flex;flex-direction:column;gap:5px}@media(max-width:520px){.path-outcome{padding:12px 9px}.outcome-pros{gap:8px}.outcome-pros span{font-size:10px}}

/* V35: strategy-specific explanation stays with its diagram */
.path-why{margin-top:16px;border-top:1px solid rgba(205,164,81,.3);padding:12px 4px;color:inherit}.path-why summary{cursor:pointer;font-weight:700;color:#d9b76c}.path-why p{line-height:1.65;margin:10px 0 0}

/* V37: visually separate alternative paths without altering breeding blocks. */
.path-alternative-separator{display:flex;align-items:center;gap:12px;margin:14px 0 8px;color:#d5b16c;text-align:center}.path-alternative-separator::before,.path-alternative-separator::after{content:"";height:1px;flex:1;min-width:12px;background:#796034}.path-alternative-label{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.path-alternative-label strong{font-size:11px;letter-spacing:.06em;color:#e3bc65}.path-alternative-label small{font-size:11px;color:#b9a47c;line-height:1.35}

/* V38: concise, evidence-specific explanation and conditional next step */
.path-opportunity{border:1px solid #63977c;background:#18241e;border-radius:11px;padding:14px 13px;overflow-wrap:anywhere}
.path-opportunity strong{display:block;color:#a6dcb7;font-size:14px;margin-bottom:8px}
.path-opportunity p{color:#deded5;font-size:12px;line-height:1.55;margin:0 0 7px}
.path-opportunity small{color:#aebdb0;font-size:11px;line-height:1.5}
.path-why{border:1px solid #665232;border-radius:10px;padding:12px;margin-top:3px}
.path-why summary{font-size:13px}
.path-why p{font-size:12px;line-height:1.55;color:#d4ccc0}

/* V39: distinguish breeder names from descriptive candidate assessments in all paths. */
.path-node.path-pairing .path-breeder-name{display:block;color:#f2d68e;font-weight:750}
.path-node.path-pairing .path-candidate-grade{display:block;color:#ccc4b4;font-size:11px;font-weight:400;line-height:1.4;margin:3px 0 5px}
.path-node.path-pairing .path-pair-cross{display:block;color:#f2d68e;font-weight:750;margin:2px 0}
@media(max-width:600px){.path-node.path-pairing .path-candidate-grade{font-size:10px}}

/* V40: explicit readiness at each parent, preserving dark/gold diagrams */
.path-node.path-pairing .readiness{display:inline-block;margin:3px auto 7px;font-size:10px;font-weight:650}
.readiness.future{color:#ffaaa6;border-color:#b94b4b;background:#3a1c1c}
.readiness.screened{color:#b7e3bb;border-color:#43804a;background:#183023}
.readiness.verify{color:#ded8c9;border-color:#777;background:#30302e}

/* V41: requested typography-only readiness adjustment; no layout changes. */
.readiness,.readiness.screened,.readiness.future,.readiness.verify{border:0!important;background:transparent!important;border-radius:0!important;padding:0!important;font-weight:700}
.readiness.screened{color:#80d998!important}.readiness.future{color:#ff8d8d!important}.readiness.verify{color:#bdbdbd!important}

/* V42: compact, strategy-local outcome alternatives; existing path diagrams unchanged. */
.path-outcome{gap:7px;padding:12px 10px}.outcome-heading{display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap}.outcome-heading small{font-size:10px;font-weight:500;color:#b8a98b}.outcome-option{border:1px solid #665333;border-radius:9px;background:#241f18;overflow:hidden}.outcome-option[open]{border-color:#ad8641}.outcome-option summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:9px;padding:10px 11px}.outcome-option summary::-webkit-details-marker{display:none}.outcome-option summary strong{display:block;font-size:12px;color:#f0d393}.outcome-option summary small{display:block;color:#aaa093;font-size:10px;margin-top:3px}.outcome-chevron{color:#d7b26b}.outcome-option[open] .outcome-chevron{transform:rotate(180deg)}.outcome-option-body{border-top:1px solid #50422d;padding:10px 11px;display:grid;gap:8px}.outcome-option-body p{font-size:11px;text-align:left;line-height:1.45}.outcome-focus{font-size:11px;color:#d6c6a6}.outcome-focus b,.outcome-contributors>b{color:#edc775}.outcome-contributors{display:grid;gap:5px}.outcome-contributors>b{font-size:11px}.outcome-contributor{display:grid;grid-template-columns:minmax(60px,auto) 1fr;gap:8px;font-size:11px}.outcome-contributor b{color:#ebd4a0}.outcome-contributor span{color:#c7bdaf}.outcome-caution{font-size:10px;color:#a79b87;line-height:1.4}.path-fineprint{font-size:10px;line-height:1.45;margin-top:9px;color:#8f877a}

/* V43: retain V42 diagrams, add independent expandable combinations inside each strategy. */
.strategy-group{display:block}
.combination-block{border:1px solid rgba(191,151,79,.38);border-radius:12px;padding:14px;margin:13px 0;background:rgba(185,142,65,.045)}
.combination-heading{display:flex;flex-direction:column;gap:5px;margin-bottom:8px}
.combination-heading small{color:#c8a367;font-size:10px;letter-spacing:.08em;font-weight:700}
.combination-heading strong{color:#eed5a5;font-size:15px}
.combination-pair{font-size:13px;opacity:.83;margin:4px 0 12px}
.combination-block .path-detail{margin-top:12px}

/* V44: flatter hierarchy, legible mobile paths and an immersive expanded view. */
.strategy-group{padding:clamp(9px,2vw,16px)}
.combination-block{padding:12px 8px;margin:12px 0;border-color:rgba(191,151,79,.24);background:transparent}
.combination-block .path-detail{margin-top:12px}
.path-detail .path-canvas{padding:clamp(8px,2vw,18px);gap:8px}
.path-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px;color:#f2d68e;font-weight:700;font-size:13px}
.expand-path{border:1px solid #a88749;background:#282116;color:#f0d391;border-radius:8px;padding:9px 11px;cursor:pointer;font-size:12px;font-weight:700}
.path-analysis{display:grid;gap:13px;margin-top:13px}
.path-opportunity{padding:11px 12px}
.path-opportunity strong{font-size:12px;margin-bottom:4px}
.path-opportunity p{font-size:11px;line-height:1.45;margin:0}
.path-outcome{padding:11px 9px}
.outcome-contributor{grid-template-columns:minmax(64px,85px) minmax(0,1fr);gap:9px;line-height:1.45}
.outcome-contributor em{font-style:normal;color:#d6b16e;font-size:10px}
.outcome-stages{border-top:1px solid #51422d;padding-top:8px;display:grid;gap:7px}
.outcome-stages>b{font-size:11px;color:#edc775}
.outcome-stage{display:grid;gap:2px;font-size:11px}
.outcome-stage b{color:#e8cf96}.outcome-stage span{color:#c7bdaf;line-height:1.4}
@media(max-width:600px){
 .strategy-group{padding:9px 6px}
 .combination-block{padding:10px 5px}
 .path-detail .path-canvas{padding:7px}
 .path-columns{gap:8px}
 .path-node{padding:10px 6px}
 .path-node strong{font-size:12px}
 .path-node small{font-size:10px}
 .path-outcome{padding:10px 7px}
}
.path-detail.path-expanded{position:fixed;inset:0;z-index:10000;overflow:auto;overscroll-behavior:contain;background:#0e0e0e;padding:clamp(12px,3vw,28px);margin:0!important;box-sizing:border-box;width:100vw;height:100dvh;max-width:none}
.path-expanded .path-toolbar,.path-expanded .path-canvas,.path-expanded .path-analysis,.path-expanded .path-fineprint{max-width:980px;margin-left:auto;margin-right:auto}
.path-expanded .path-toolbar{position:sticky;top:-12px;background:#0e0e0e;z-index:2;padding:12px 0}
.path-expanded .path-canvas{padding:clamp(14px,3vw,30px);gap:15px}
.path-expanded .path-node{padding:17px 12px}
.path-expanded .path-columns{gap:18px}
.path-expanded .path-node strong{font-size:14px}
.path-expanded .path-node small{font-size:12px}
body.has-expanded-path{overflow:hidden}
