html,
body {
  max-width: 100%;
  overflow-x: clip;
}

.algorithm-family{border-top:1px solid var(--line);padding-top:11px;margin-top:7px}
.algorithm-family:first-child{border-top:0;padding-top:0}
.algorithm-family h3{margin:0 0 8px;color:var(--green);font:800 12px/1.3 Inter,"Noto Sans Thai",sans-serif;letter-spacing:.08em;text-transform:uppercase}
.algorithm-family-grid{display:grid;grid-template-columns:1fr;gap:7px}
.algorithm-family label{border:1px solid #e4dccf;border-radius:10px;padding:9px;background:#fff}
.algorithm-family label:hover{border-color:#9db9ae;background:#f5faf7}
.algorithm-family .hint{margin:2px 0 0}
.lop-knowledge{max-width:1380px;margin:34px auto 0;display:grid;gap:18px}
.lop-knowledge>section{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:clamp(20px,3vw,34px)}
.lop-knowledge h2{font:700 clamp(28px,4vw,46px)/1.05 Georgia,"Noto Serif Thai",serif;margin:5px 0 16px}
.lop-knowledge h3{font:700 21px/1.25 Georgia,"Noto Serif Thai",serif;margin:18px 0 8px}
.lop-knowledge p,.lop-knowledge li{color:#53615a;line-height:1.75}
.lop-knowledge .lead{font-size:17px;max-width:960px}
.formula-card{background:#173c31;color:#fff;border-radius:16px;padding:20px;margin:18px 0;font-family:"STIX Two Text",Georgia,serif;font-size:clamp(17px,2vw,24px);overflow:auto}
.formula-card small{display:block;color:#bcd0c7;font:12px/1.6 Inter,"Noto Sans Thai",sans-serif;margin-top:9px}
.lop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.lop-grid article{border:1px solid var(--line);border-radius:14px;padding:16px;background:#faf7ef}
.lop-grid span{font-size:10px;letter-spacing:.1em;font-weight:850;color:var(--green)}
.lop-table-wrap{overflow:auto}
.lop-knowledge table th,.lop-knowledge table td{text-align:left;vertical-align:top;line-height:1.5}
.lop-knowledge table th{color:var(--green);white-space:nowrap}
.reference-list{columns:2;column-gap:36px;padding-left:20px}
.reference-list li{break-inside:avoid;margin-bottom:12px}
.reference-list a{color:var(--green);font-weight:750}
.protocol-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}
.protocol-strip div{border-radius:12px;background:#edf4f0;padding:14px}
.protocol-strip b{display:block;color:var(--green);margin-bottom:4px}
@media(max-width:900px){.lop-grid,.protocol-strip{grid-template-columns:1fr 1fr}.reference-list{columns:1}}
@media(max-width:560px){.lop-grid,.protocol-strip{grid-template-columns:1fr}.lop-knowledge>section{padding:18px}}
.layout > main {
  min-width: 0;
  width: 100%;
  overflow: hidden;
}

.layout > main > * {
  min-width: 0;
  width: 100%;
  max-width: 100%;
}

#instance .matrix {
  width: 100%;
  max-width: 100%;
  overflow: auto;
  overscroll-behavior-inline: contain;
}

@media (max-width: 760px) {
  .layout > main,
  .layout > main > * {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
  }
}
