:root,:root[data-theme=light]{--bg: #f8f8f6;--surface: #ffffff;--surface2: #f1f4f3;--line: #dddeda;--txt: #1f2423;--mut: #707873;--accent: #176b5b;--accent2: #9b4a2f;--focus: #1d4ed8;--navbg: rgba(248, 248, 246, .86);--shadow: rgba(24, 31, 29, .1);--r1: #82868a;--r2: #2f74a6;--r3: #3b8a5b;--r4: #b26b29;--r5: #b64254}:root[data-theme=dark]{--bg: #121414;--surface: #1d2120;--surface2: #242a28;--line: #333a37;--txt: #f3f5f2;--mut: #a0aaa5;--accent: #73c7b3;--accent2: #e09a73;--focus: #93c5fd;--navbg: rgba(18, 20, 20, .82);--shadow: rgba(0, 0, 0, .45);--r1: #8f9498;--r2: #60a5d4;--r3: #67b883;--r4: #d1914a;--r5: #e06b7f}html{background:var(--bg);scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--txt);font:16px/1.5 -apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:18px;min-height:56px;padding:0 24px;background:var(--navbg);border-bottom:1px solid var(--line);-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px)}.brand{display:flex;align-items:center;gap:8px;font-weight:700;white-space:nowrap}.logo{color:var(--accent)}.navtabs{display:flex;gap:8px;flex:1;overflow-x:auto}.navtabs a,.repo{color:var(--mut);text-decoration:none;font-size:14px;white-space:nowrap}.navtabs a{padding:6px 8px}.navtabs a:hover,.repo:hover{color:var(--accent)}.themebtn{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--txt);cursor:pointer}.wrap{max-width:1160px;margin:0 auto;padding:36px 22px 88px}.hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:24px;align-items:stretch;margin-bottom:34px}.eyebrow{color:var(--accent);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}h1{max-width:720px;margin:0;font-size:46px;line-height:1.05;font-weight:800}.sub{max-width:700px;margin:16px 0 0;color:var(--mut);font-size:19px}.heroactions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.primary,.secondary{border:1px solid var(--line);border-radius:10px;min-height:42px;padding:0 16px;font-weight:700;cursor:pointer}.primary{background:var(--accent);border-color:var(--accent);color:#fff}.secondary{background:var(--surface);color:var(--txt)}.primary:hover,.secondary:hover{transform:translateY(-1px);box-shadow:0 8px 22px var(--shadow)}.current,.track,.path,.buildcard,.resource,.recommendation,.diagnosticform,.signalgrid article,.submissiongrid article,.supportbox,.dnagrid a{background:var(--surface);border:1px solid var(--line);box-shadow:0 10px 30px var(--shadow)}.current{border-radius:14px;padding:22px}.diagnosticgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.65fr);gap:14px}.diagnosticform{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border-radius:12px;padding:16px}.diagnosticform label{display:grid;gap:6px}.diagnosticform span{color:var(--mut);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.recommendation{border-radius:12px;padding:18px}.recommendation h3{margin:14px 0 8px;font-size:20px}.recommendation p,.recommendation li{color:var(--mut);font-size:14px}.recommendation ol{padding-left:20px}.heroactions.compact{margin-top:14px}.currenttop,.trackmeta,.resourcetop,.tags,.pmeta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.currenttop{justify-content:space-between;color:var(--mut);font-size:13px;font-weight:700}.current h2{margin:16px 0 8px;font-size:24px;line-height:1.12}.current p{margin:0;color:var(--mut)}.progressbar{height:9px;margin:20px 0;overflow:hidden;border-radius:999px;background:var(--surface2)}.progressbar span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.next{display:grid;gap:4px;padding:14px;border-radius:10px;background:var(--surface2)}.next span{color:var(--mut);font-size:14px}.section{margin-top:38px}.sechead{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}.sechead.tight{margin-bottom:10px}.sechead h2{margin:0;font-size:22px;line-height:1.15}.secblurb{color:var(--mut);font-size:14px}.trackgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.track{border-radius:12px;padding:18px}.trackmeta{justify-content:space-between;color:var(--accent2);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.track h3,.resource h3{margin:12px 0 8px;font-size:17px;line-height:1.2}.track p,.resource p,.supportbox p{margin:0;color:var(--mut);font-size:14px}.pathgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.buildgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.buildcard{display:grid;gap:12px;min-height:210px;padding:16px;border-radius:12px;color:var(--txt);text-align:left;cursor:pointer}.buildcard:hover{transform:translateY(-2px)}.buildtop,.buildtitle,.buildmeta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.buildtop{justify-content:space-between;color:var(--mut);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.buildtitle{align-items:flex-start}.buildtitle span{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--surface2)}.buildtitle strong{flex:1;min-width:0;line-height:1.18}.buildcard p{margin:0;color:var(--mut);font-size:14px}.buildmeta{margin-top:auto}.buildmeta span{padding:4px 8px;border:1px solid var(--line);border-radius:999px;color:var(--mut);font-size:12px}.path{min-height:126px;padding:16px;border-radius:12px;text-align:left;color:var(--txt);cursor:pointer}.path.on{outline:3px solid color-mix(in srgb,var(--accent) 35%,transparent);border-color:var(--accent)}.path span{display:block;font-weight:800;margin-bottom:8px}.path small{color:var(--mut);line-height:1.35}.pathnote{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px;padding:12px 14px;background:var(--surface2);border:1px solid var(--line);border-radius:10px;color:var(--mut)}.pathnote strong{color:var(--txt)}.filters{display:grid;grid-template-columns:160px 150px 130px 150px 1fr;gap:12px;margin-bottom:14px}.filters label,.formgrid label{display:grid;gap:6px}.filters span,.formgrid span{color:var(--mut);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}select,input,textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--txt)}select,input{height:42px;padding:0 12px}textarea{min-height:84px;resize:vertical;padding:10px 12px}.resourcegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.resource{display:flex;flex-direction:column;min-height:218px;border-radius:12px;padding:16px;text-align:left;color:var(--txt);cursor:pointer}.resource:hover,.path:hover,.dnagrid a:hover,.showcase button:hover{transform:translateY(-2px)}.resourceicon{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:var(--surface2);font-size:23px}.rung{display:inline-flex;align-items:center;min-height:24px;padding:2px 9px;border-radius:999px;color:#fff;font-size:11px;font-weight:800}.rung.R1{background:var(--r1)}.rung.R2{background:var(--r2)}.rung.R3{background:var(--r3)}.rung.R4{background:var(--r4)}.rung.R5{background:var(--r5)}.tags{margin-top:auto;padding-top:18px}.tags span,.pmeta span{color:var(--mut);font-size:12px}.tags span{padding:4px 8px;border:1px solid var(--line);border-radius:999px}.split{display:grid;grid-template-columns:1fr 1fr;gap:14px}.supportbox{border-radius:12px;padding:18px}.supportbox .secondary{margin-top:16px}.showcase{display:grid;gap:8px}.showcase button{display:grid;gap:3px;width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface2);color:var(--txt);text-align:left;cursor:pointer}.showcase span{color:var(--accent2);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.signalgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.signalgrid article{border-radius:12px;padding:16px}.signalbar{height:8px;overflow:hidden;border-radius:999px;background:var(--surface2)}.signalbar span{display:block;height:100%;border-radius:inherit;background:var(--accent2)}.signalgrid h3{margin:12px 0 8px;font-size:16px}.signalgrid p{margin:0;color:var(--mut);font-size:13px}.communitytop{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1fr);gap:14px;margin-bottom:14px}.supportbox h3{margin:0 0 8px;font-size:18px}.lanegrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.lanegrid button{display:grid;gap:6px;min-height:104px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface2);color:var(--txt);text-align:left;cursor:pointer}.lanegrid span{color:var(--mut);font-size:12px;line-height:1.35}.submissiongrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.submissiongrid article{display:flex;flex-direction:column;min-height:250px;border-radius:12px;padding:16px}.submissiontop{display:flex;justify-content:space-between;gap:8px;color:var(--accent2);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.submissiongrid h3{margin:12px 0 8px;font-size:17px;line-height:1.18}.submissiongrid p{margin:0;color:var(--mut);font-size:13px}.submissionactions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.submissionactions .secondary{min-height:34px;padding:0 10px;font-size:13px}.dnagrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}.dnagrid a{display:grid;grid-template-columns:34px 1fr;gap:4px 10px;align-items:center;border-radius:12px;padding:14px;color:var(--txt);text-decoration:none}.dnagrid small{grid-column:2;color:var(--accent)}.empty{grid-column:1 / -1;padding:36px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--mut);text-align:center}.empty.err{color:#b91c1c}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:22px;background:#0f12116b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.panel{position:relative;width:min(720px,100%);max-height:84vh;overflow:auto;padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 30px 80px #00000047}.buildpanel{width:min(880px,100%)}.x{position:absolute;top:16px;right:16px;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;background:var(--surface2);color:var(--mut);cursor:pointer}.phead{display:flex;gap:14px;align-items:center;padding-right:36px;margin-bottom:18px}.phead h2{margin:0;font-size:23px}.icon.big{display:grid;place-items:center;width:52px;height:52px;flex:0 0 auto;border-radius:12px;background:var(--surface2);font-size:28px}.pbody{border-top:1px solid var(--line);padding-top:16px;color:var(--txt)}.pbody p,.pbody li{color:var(--mut)}.pbody h2{font-size:19px}.pbody h3{font-size:16px}.buildpage{display:grid;gap:14px;border-top:1px solid var(--line);padding-top:16px}.buildpage section{padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface2)}.buildpage h3{margin:0 0 8px;font-size:15px}.buildpage p,.buildpage li{margin:0;color:var(--mut)}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:12px}.adaptgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.adaptgrid button{display:grid;gap:6px;min-height:120px;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--txt);text-align:left}.adaptgrid button.on{border-color:var(--accent);outline:2px solid color-mix(in srgb,var(--accent) 30%,transparent)}.adaptgrid span{color:var(--mut);font-size:12px;line-height:1.35}.formgrid{display:grid;gap:14px}.generated{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface2)}.generated p{margin:5px 0 0;color:var(--mut)}.generated ol{margin:8px 0 0;padding-left:20px}.generated li{color:var(--mut);margin:4px 0}footer{max-width:1160px;margin:0 auto;padding:0 22px 36px;color:var(--mut);font-size:12px;text-align:center}@media (max-width: 900px){.hero,.diagnosticgrid,.communitytop,.split{grid-template-columns:1fr}.pathgrid,.trackgrid,.adaptgrid,.signalgrid,.lanegrid,.submissiongrid,.filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.nav{gap:10px;padding:0 14px}.repo{display:none}.wrap{padding:28px 14px 70px}h1{font-size:34px}.sub{font-size:17px}.pathgrid,.trackgrid,.filters,.twocol,.adaptgrid,.diagnosticform,.signalgrid,.lanegrid,.submissiongrid{grid-template-columns:1fr}.sechead,.pathnote{align-items:flex-start;flex-direction:column}.panel{padding:22px}}
