:root{color:#223342;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f4f6f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #25a888}a{color:#177e68;text-underline-offset:4px}h1,h2,h3,p{margin-top:0}h2{letter-spacing:-.025em;font-size:1.35rem;line-height:1.3}h3{letter-spacing:-.025em;font-size:1.2rem;line-height:1.35}p{color:#566775}small{font-size:.78rem}.layout{grid-template-columns:260px minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{color:#b9c4cf;background:#101c2a;flex-direction:column;height:100dvh;padding:36px 24px;display:flex;position:sticky;top:0}.brand{color:#fff;letter-spacing:-.07em;align-items:center;gap:11px;font-size:1.55rem;font-weight:700;line-height:1.3;text-decoration:none;display:flex}.brand-icon{flex:0 0 28px;width:28px;height:40px}.brand-light{color:#68d3b5;font-weight:350}.brand small{letter-spacing:.13em;color:#8c9baa;margin-top:7px;font-size:.48rem;display:block}.sidebar-label{letter-spacing:.14em;color:#7c90a5;margin:55px 8px 13px;font-size:.63rem}nav{flex-direction:column;gap:8px;display:flex}nav button{color:#bac8d7;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:12px 10px;font-size:.83rem;display:flex}nav button.active{color:#9aead1;background:#203c3e}nav button>span:first-child{font-size:1.2rem}.nav-count,.soon{background:#314b4d;border-radius:5px;margin-left:auto;padding:0 6px;font-size:.67rem}.soon{color:#d4c494;background:#333832}.sidebar-note{color:#d4e3e5;margin-top:auto;padding-top:45px;font-size:.78rem}.sidebar-note p{color:#8c9dad;margin:8px 0 0 12px;font-size:.75rem}.status-dot{background:#5ed4ad;border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.sidebar-footer{color:#8193a5;border-top:1px solid #2b3744;margin-top:26px;padding-top:18px;font-size:.63rem}main{width:100%;max-width:1420px;padding:0 52px}.topbar{color:#687b7d;letter-spacing:.13em;border-bottom:1px solid #dde4e1;justify-content:space-between;align-items:center;gap:10px;padding:24px 0;font-size:.6rem;display:flex}.local-badge{letter-spacing:0;color:#28705b;white-space:nowrap;background:#e5eee8;border-radius:20px;padding:5px 11px;font-size:.7rem}.hero{max-width:760px;padding:45px 0 27px}.eyebrow{letter-spacing:.13em;color:#357e68;font-size:.65rem;font-weight:700}.hero h1{letter-spacing:-.055em;color:#192d3b;margin:15px 0 23px;font-size:clamp(2.4rem,4.2vw,4.2rem);font-weight:650;line-height:1.1}.hero h1 span{color:#268970}.hero p{max-width:660px;font-size:1rem;line-height:1.8}.hero-tags{flex-wrap:wrap;gap:9px;margin:20px 0 4px;display:flex}.hero-tags span{color:#5c7267;border:1px solid #d3dfda;border-radius:5px;padding:4px 9px;font-size:.68rem}.upload-panel{background:#fff;border:1px solid #d7e2da;border-radius:15px;padding:26px 28px;box-shadow:0 5px 22px #203b2910}.upload-heading{align-items:center;gap:16px;margin-bottom:18px;display:flex}.upload-icon{color:#218567;background:#eaf5ef;border-radius:12px;place-items:center;width:49px;height:49px;font-size:1.8rem;display:grid}.upload-heading h2{margin:0 0 4px}.upload-heading p{margin:0;font-size:.78rem}.consent{color:#4e626b;align-items:flex-start;gap:10px;max-width:850px;font-size:.8rem;line-height:1.6;display:flex}.consent input{accent-color:#247f67;flex:none;width:16px;height:16px;margin-top:5px}.upload-controls{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:21px;display:flex}.assembly{color:#64766e;flex-direction:column;gap:5px;font-size:.65rem;display:flex}.assembly select{color:#3f554a;background:#f8faf8;border:1px solid #d8e0da;border-radius:7px;height:43px;padding:0 31px 0 12px;font-size:.8rem}.file-button{color:#fff;cursor:pointer;background:#257e66;border-radius:7px;justify-content:center;align-items:center;height:43px;padding:10px 24px;font-size:.85rem;display:inline-flex;position:relative;overflow:hidden}.file-button input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.file-button:focus-within{outline-offset:4px;outline:3px solid #25a888}.file-button.disabled{opacity:.4;cursor:not-allowed}.secondary{color:#3f5b4e;background:#fff;border:1px solid #d5dfd9;border-radius:7px;min-height:43px;padding:10px 15px;font-size:.8rem}.secondary:hover{background:#eff6f0}.text-button{color:#53706a;text-underline-offset:4px;background:0 0;border:0;padding:9px;font-size:.78rem;text-decoration:underline}.micro{color:#708179;margin:13px 0 0;font-size:.7rem;line-height:1.6}.notice{background:#f6f2e8;border-left:2px solid #c3aa72;border-radius:0 8px 8px 0;align-items:flex-start;gap:12px;margin:22px 0 30px;padding:16px 20px;display:flex}.notice>span{color:#8a743f;text-align:center;border:1px solid #b9a779;border-radius:50%;flex:0 0 17px;width:17px;height:17px;margin-top:2px;font-size:.8rem;line-height:1.2}.notice p{color:#796d54;margin:0;font-size:.77rem;line-height:1.7}.notice strong{font-weight:650}.report-summary,.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin:32px 0 20px;display:flex}.report-summary h2,.section-heading h2{margin:5px 0 0}.report-actions{flex-wrap:wrap;gap:6px;display:flex}.stats{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.stats>div{background:#e8efea;border:1px solid #dbe5dd;border-radius:10px;padding:18px}.stats strong{letter-spacing:-.04em;color:#28664f;font-size:1.55rem;line-height:1.3;display:block}.stats span{color:#68786d;font-size:.72rem}.quality-note{color:#786436;background:#fff4dc;border:1px solid #e9d7b2;border-radius:8px;margin-top:15px;padding:13px 16px;font-size:.78rem}.filters{flex-wrap:wrap;gap:5px;display:flex}.filters button{color:#68766e;background:0 0;border:1px solid #0000;border-radius:20px;padding:6px 12px;font-size:.74rem}.filters button.selected{color:#32664a;background:#e3eee6;border-color:#cbded1}.marker-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));align-items:start;gap:17px;display:grid}.marker-card{overflow-wrap:anywhere;background:#fff;border:1px solid #e0e6e1;border-radius:12px;padding:23px}.card-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:21px;display:flex}.category-tag{color:#48745d;background:#edf4ed;border:1px solid #dce9dc;border-radius:5px;padding:3px 8px;font-size:.65rem}.gene{color:#7e8b82;letter-spacing:.07em;font-size:.68rem}.marker-card h3{margin-bottom:5px}.rsid{color:#789687;font-family:ui-monospace,monospace;font-size:.72rem}.marker-card>p{margin:14px 0 20px;font-size:.81rem;line-height:1.8}.result{background:#f0f7f2;border:1px solid #cee3d6;border-radius:9px;margin:15px 0;padding:16px}.result.unavailable{background:#f5f4f0;border-color:#e4e0d5}.result-label{letter-spacing:.08em;color:#5e7d6b;font-size:.57rem;font-weight:700;display:block}.genotype{letter-spacing:-.02em;color:#276449;margin-top:5px;font-family:ui-monospace,monospace;font-size:1.65rem;display:block}.result p{color:#42644f;margin:10px 0;font-size:.81rem}.result small{color:#738273;font-size:.63rem;display:block}.next-step{margin-top:18px;font-size:.76rem}.next-step strong{color:#435b50;font-weight:600}.next-step p{margin:7px 0 18px;line-height:1.75}.marker-card details{border-top:1px solid #e5eae6;padding-top:14px;font-size:.76rem}.marker-card summary{color:#426e58;cursor:pointer;font-size:.74rem}.marker-card details p{margin:12px 0;line-height:1.7}.marker-card details ul{padding-left:18px;line-height:1.9}.marker-card details small{color:#7b867d;font-size:.64rem}.evidence{color:#486551;font-weight:600}.info-panel{background:#fff;border:1px solid #dce4de;border-radius:12px;max-width:920px;margin:0 0 22px;padding:28px}.info-panel h2{margin:16px 0}.info-panel p,.info-panel li{color:#596c63;font-size:.9rem;line-height:1.9}.info-panel ol,.method-list{padding-left:22px}.info-panel li{margin-bottom:16px;padding-left:5px}.info-panel strong{color:#345344}.processing{color:#386d53;align-items:center;gap:12px;margin-top:15px;font-size:.83rem;display:flex}.spinner{border:2px solid #d3e5d7;border-top-color:#238467;border-radius:50%;width:17px;height:17px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error{color:#9b462d;background:#fff1ed;border-radius:7px;margin-top:17px;padding:13px;font-size:.83rem}footer{color:#7a8b7c;border-top:1px solid #dde5df;margin-top:30px;padding:35px 0;font-size:.65rem}footer span{padding:0 6px}@media (width>=1500px){main{padding:0 76px}.hero{padding-top:58px}.marker-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=1100px){.layout{grid-template-columns:220px minmax(0,1fr)}.sidebar{padding:30px 17px}main{padding:0 28px}.topbar>span:first-child{font-size:.52rem}.brand{font-size:1.4rem}.hero h1{font-size:3.3rem}.upload-panel{padding:23px}}@media (width<=760px){.layout{display:block}.sidebar{gap:16px;height:auto;padding:19px 20px 12px;position:static}.brand{font-size:1.4rem}.brand small{font-size:.44rem}.brand-icon{flex-basis:25px;width:25px;height:35px}.sidebar-label,.sidebar-note,.sidebar-footer{display:none}nav{flex-direction:row;gap:6px;overflow-x:auto}nav button{white-space:nowrap;padding:8px 9px;font-size:.69rem}nav button>span:first-child{font-size:.92rem}.nav-count,.soon{display:none}main{padding:0 20px}.topbar{padding:17px 0}.topbar>span:first-child{letter-spacing:.055em;max-width:140px;font-size:.46rem}.local-badge{padding:4px 9px;font-size:.64rem}.hero{padding:29px 0 24px}.hero h1{font-size:2.9rem}.hero p{font-size:.92rem}.hero-tags{gap:6px}.hero-tags span{padding:3px 7px;font-size:.6rem}.upload-panel{padding:20px 18px}.upload-heading{gap:11px}.upload-heading h2{font-size:1.13rem}.upload-heading p{font-size:.65rem}.upload-icon{flex:0 0 40px;width:40px;height:43px}.consent{font-size:.74rem}.upload-controls{gap:9px}.assembly{width:100%}.file-button{flex:1;padding:10px 15px}.upload-controls>.secondary{flex:1;padding:10px;font-size:.74rem}.notice{margin-bottom:25px;padding:15px 14px}.notice p{font-size:.73rem}.report-summary,.section-heading{margin-top:27px}.section-heading h2{font-size:1.3rem}.stats{gap:7px}.stats>div{padding:13px 9px}.stats strong{font-size:1.2rem}.stats span{font-size:.61rem}.report-actions .secondary{font-size:.73rem}.marker-grid{grid-template-columns:1fr}.marker-card{padding:22px}.info-panel{padding:22px 18px}.info-panel li,.info-panel p{font-size:.84rem}.processing{flex-wrap:wrap}.micro{font-size:.65rem}footer{line-height:1.8}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}
