:root{--navy:#102640;--ink:#172b43;--muted:#5d7187;--paper:#f3f7f7;--white:#fff;--teal:#00a994;--orange:#ff884d;--blue:#4f7fd4;--purple:#8864c7;--line:#cbd9de;--soft:#e5eeee;--shadow:0 18px 55px #10264014}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Noto Sans Thai",system-ui,sans-serif}.topbar{height:58px;padding:0 clamp(22px,5vw,78px);display:flex;align-items:center;justify-content:space-between;background:#0a1b2e;color:#d9e9ef;font-size:13px;letter-spacing:.04em}.topbar a{color:inherit;text-decoration:none;margin-left:22px}.hero{padding:clamp(70px,10vw,150px) clamp(24px,7vw,110px) 90px;background:var(--navy);color:white;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:420px;height:420px;border:90px solid #24b9a633;border-radius:50%;right:-160px;top:-190px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.18em;color:var(--teal);text-transform:uppercase}.hero h1{font-size:clamp(46px,6.4vw,96px);line-height:.97;letter-spacing:-.055em;max-width:1080px;margin:20px 0 28px}.lead{font-size:clamp(18px,2vw,27px);line-height:1.55;max-width:900px;color:#d5e2eb}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:5px;padding:12px 18px;background:white;color:var(--navy);font:inherit;font-weight:750;text-decoration:none;cursor:pointer}.button.primary{background:var(--teal);border-color:var(--teal);color:white}.button:disabled{opacity:.45;cursor:not-allowed}main{max-width:1600px;margin:auto}.lesson{padding:78px clamp(22px,5vw,76px);border-bottom:1px solid var(--line)}.section-head{max-width:1050px;margin-bottom:34px}.section-head h2{font-size:clamp(32px,4vw,58px);line-height:1.05;letter-spacing:-.04em;margin:10px 0 16px}.section-head>p:last-child{font-size:18px;line-height:1.7;color:var(--muted)}.card{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:7px}.operator-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.operator-card{padding:22px;min-height:190px;border-top:5px solid var(--accent)}.operator-card .code{font-size:34px;font-weight:850;color:var(--navy)}.operator-card h3{margin:5px 0;font-size:17px}.operator-card p{color:var(--muted);line-height:1.55}.operator-card small{font-weight:800;color:var(--accent);text-transform:uppercase;letter-spacing:.09em}.workbench,.benchmark-layout{display:grid;grid-template-columns:300px 1fr;gap:18px}.controls{padding:22px;align-self:start}.controls label{display:block;font-weight:750;margin-bottom:18px}.controls select,.controls input[type=number]{width:100%;margin-top:7px;padding:10px;border:1px solid var(--line);font:inherit;background:white}.controls input[type=range]{width:80%;vertical-align:middle}.controls output{display:inline-block;width:15%;text-align:right}.controls .button{width:100%;margin-top:8px}.legend{display:grid;gap:8px;margin-top:20px;color:var(--muted);font-size:13px}.legend i{display:inline-block;width:12px;height:12px;margin-right:8px}.legend .p1{background:var(--teal)}.legend .p2{background:var(--orange)}.legend .new{background:var(--purple)}.microscope{padding:clamp(22px,4vw,48px);overflow:auto}.sequence{display:grid;grid-template-columns:100px 1fr;align-items:center;margin:12px 0}.sequence>div{display:flex;gap:6px;min-width:700px}.gene{height:48px;min-width:48px;border:2px solid var(--line);display:grid;place-items:center;font-weight:850;background:#eff4f5;border-radius:4px}.gene.from-a{border-color:var(--teal);background:#d5f5ef}.gene.from-b{border-color:var(--orange);background:#ffeadf}.gene.derived{border-color:var(--purple);background:#eee7fb}.flow-arrow{text-align:center;font-weight:850;color:var(--muted);padding:15px}.trace{padding:15px;background:var(--soft);border-left:4px solid var(--teal);line-height:1.6}.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.problem-card{padding:22px}.problem-card svg{width:100%;height:130px;background:#f7fafb;border:1px solid var(--line)}.problem-card h3{margin:16px 0 5px}.problem-card p{color:var(--muted);line-height:1.55}.problem-card b{color:var(--teal)}.results{padding:22px;min-width:0}.chart svg{width:100%;height:auto;max-height:380px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th{background:var(--navy);color:white;text-align:left;padding:10px}td{padding:9px 10px;border-bottom:1px solid var(--line)}tbody tr:first-child{background:#d9f4ef;font-weight:800}.status{padding:10px;background:var(--soft);font-size:13px}.method-note,.finding{margin-top:18px;padding:18px 22px;background:#dfebed;border-left:5px solid var(--teal);line-height:1.65}.measured-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.measured-grid .card{padding:22px}.measured-grid h3{font-size:25px;margin-top:0}.meter-row{display:grid;grid-template-columns:60px 1fr 80px;gap:12px;align-items:center;margin:10px 0}.meter{height:13px;background:#e3ecee;border-radius:10px;overflow:hidden}.meter i{display:block;height:100%;background:var(--teal)}.download-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.download-grid a{padding:24px;color:var(--ink);text-decoration:none;display:flex;flex-direction:column;gap:12px;border-top:5px solid var(--teal)}.download-grid span{color:var(--muted)}footer{padding:28px clamp(22px,5vw,76px);background:#0a1b2e;color:#b9cbd6;display:flex;justify-content:space-between;font-size:12px}@media(max-width:950px){.operator-grid,.problem-grid{grid-template-columns:1fr 1fr}.workbench,.benchmark-layout{grid-template-columns:1fr}.controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}.measured-grid{grid-template-columns:1fr}}@media(max-width:650px){.operator-grid,.problem-grid,.download-grid{grid-template-columns:1fr}.controls{display:block}.sequence{grid-template-columns:1fr}.hero h1{font-size:48px}footer{display:block;line-height:2}}
