:root{--ink:#17231f;--green:#1f513f;--paper:#f4efe5;--card:#fffdf8;--muted:#66716c;--line:#dcd5c8;--lime:#c5e86c;--gold:#d99a2b;--red:#ae3e36;--shadow:0 24px 70px rgba(29,48,40,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans Thai",sans-serif}button,textarea{font:inherit}.site-head{display:flex;justify-content:space-between;align-items:center;padding:1rem clamp(1rem,5vw,5rem);border-bottom:1px solid var(--line);font-size:.69rem;font-weight:700;letter-spacing:.08em}.site-head a{color:var(--green);text-decoration:none}.site-head span{color:var(--muted)}main{width:min(1220px,calc(100% - 2rem));margin:auto}.kicker{margin:0 0 .65rem;color:var(--green);font:600 .65rem/1.4 "IBM Plex Mono",monospace;letter-spacing:.13em}.lab-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,7vw,7rem);align-items:center;min-height:720px;padding:5rem 0}.hero-copy h1,.section-head h2{margin:0;font:700 clamp(3.2rem,6.5vw,6.6rem)/.96 "Noto Serif Thai",serif;letter-spacing:-.045em}.hero-copy h1 em{color:var(--green);font-style:normal}.lead{max-width:720px;color:var(--muted);font-size:.9rem;line-height:2}.model-strip{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:2rem}.model-strip span{padding:.75rem 1rem;border:1px solid var(--line);border-radius:99px;background:rgba(255,255,255,.45);color:var(--muted);font-size:.68rem}.model-strip b{color:var(--ink);font:600 .86rem "IBM Plex Mono",monospace}.lab-card{padding:clamp(1.5rem,3vw,2.4rem);border-radius:28px;background:var(--ink);color:white;box-shadow:var(--shadow)}.card-head{display:flex;gap:1rem;align-items:center;margin-bottom:1.4rem}.card-head>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--lime);color:var(--ink);font:600 1rem "IBM Plex Mono",monospace}.card-head b,.card-head small{display:block}.card-head small{margin-top:.25rem;color:#aebbb5;font-size:.62rem}.card-head small.online{color:var(--lime)}.lab-card label{display:block;margin-bottom:.5rem;font-size:.72rem;font-weight:700}.lab-card textarea{width:100%;resize:vertical;padding:1rem;border:1px solid #42554d;border-radius:16px;outline:none;background:#22342d;color:white;line-height:1.8}.lab-card textarea:focus{border-color:var(--lime);box-shadow:0 0 0 3px rgba(197,232,108,.14)}.form-meta{display:flex;justify-content:space-between;align-items:center;margin:.65rem 0 1rem;color:#9eaaa5;font-size:.62rem}.form-meta button{padding:0;border:0;background:none;color:var(--lime);cursor:pointer}.primary{width:100%;padding:1rem;border:0;border-radius:14px;background:var(--lime);color:var(--ink);font-weight:800;cursor:pointer}.lab-card output{display:block;min-height:1.4rem;margin-top:.7rem;color:#efb5ae;font-size:.68rem}.result-shell{margin-bottom:5rem;padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--line);border-radius:28px;background:var(--card);box-shadow:var(--shadow)}.empty-result{display:grid;grid-template-columns:280px 1fr;gap:3rem;align-items:center;min-height:280px}.empty-result h2,.prediction h2{margin:.2rem 0;font:700 clamp(2rem,4vw,3.8rem)/1.05 "Noto Serif Thai",serif}.empty-result p{color:var(--muted)}.reaction-orbit{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.reaction-orbit span{display:grid;place-items:center;aspect-ratio:1;border-radius:50%;background:var(--paper);font-size:2.2rem}.prediction header{display:flex;justify-content:space-between;gap:2rem;align-items:flex-start}.review-badge{padding:.55rem .75rem;border-radius:99px;background:#f1d4d0;color:var(--red);font:600 .62rem "IBM Plex Mono",monospace}.review-badge.confident{background:#e6f0cf;color:var(--green)}.top-pair{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;margin:2rem 0}.top-pair article{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1rem;align-items:center;padding:1.2rem;border-radius:18px;background:var(--paper)}.top-pair article small{grid-column:1/-1;color:var(--muted);font:600 .58rem "IBM Plex Mono",monospace}.top-pair article span{font-size:2rem}.top-pair article b{font-size:1.15rem}.probability-list{display:grid;gap:.8rem}.probability-list>div{display:grid;grid-template-columns:110px 1fr 60px;gap:1rem;align-items:center;font-size:.72rem}.probability-list i{height:10px;overflow:hidden;border-radius:99px;background:#e9e3d8}.probability-list i b{display:block;height:100%;border-radius:99px}.probability-list strong{text-align:right;font:600 .72rem "IBM Plex Mono",monospace}.prediction footer{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted);font:500 .62rem "IBM Plex Mono",monospace}.status-band{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;align-items:center;margin-bottom:6rem;padding:2rem;border-radius:22px;background:var(--green);color:white}.status-band h2{margin:0;font:700 2.1rem "Noto Serif Thai",serif}.status-band .kicker{color:var(--lime)}.status-band dl{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:0}.status-band dl div{padding:.9rem;border-left:1px solid rgba(255,255,255,.25)}.status-band dt{color:#b8c8c1;font:600 .55rem "IBM Plex Mono",monospace}.status-band dd{margin:.3rem 0 0;font-size:.72rem;font-weight:700}.section{padding:6rem 0;border-top:1px solid var(--line)}.section-head{display:grid;grid-template-columns:1.15fr .85fr;gap:4rem;align-items:end;margin-bottom:3rem}.section-head p:last-child{margin:0;color:var(--muted);font-size:.78rem;line-height:1.9}.pipeline{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--line)}.pipeline article{min-height:230px;padding:1.5rem;background:var(--card)}.pipeline span{color:var(--gold);font:600 1.8rem "IBM Plex Mono",monospace}.pipeline b{display:block;margin:1rem 0 .5rem}.pipeline p{color:var(--muted);font-size:.7rem;line-height:1.8}.evidence-grid{display:grid;grid-template-columns:.6fr .6fr 1.8fr;gap:1rem}.score-card,.class-table{padding:1.5rem;border-radius:20px;background:var(--card)}.score-card small{color:var(--green);font:600 .58rem "IBM Plex Mono",monospace}.score-card strong{display:block;margin:.5rem 0;font:700 3rem "Noto Serif Thai",serif}.score-card span{color:var(--muted);font-size:.68rem}.class-table{display:grid;gap:.65rem}.class-table div{display:grid;grid-template-columns:55px 1fr 45px;gap:.7rem;align-items:center;font-size:.66rem}.class-table i{height:8px;border-radius:99px;background:#e6dfd3}.class-table i:after{display:block;width:var(--score);height:100%;border-radius:99px;background:var(--green);content:""}.class-table span{text-align:right;font-family:"IBM Plex Mono",monospace}.honesty{display:grid;grid-template-columns:180px 1fr;gap:1.5rem;margin-top:1rem;padding:1.4rem;border:1px solid #d69b93;border-radius:18px}.honesty b{color:var(--red)}.honesty p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.8}.provenance{display:grid;grid-template-columns:1.25fr .75fr;gap:3rem}.provenance h2{margin:.3rem 0;font:700 clamp(2rem,4vw,4rem)/1.04 "Noto Serif Thai",serif}.provenance p{color:var(--muted);font-size:.76rem;line-height:1.8}.provenance ul{display:grid;align-content:start;gap:1rem;margin:0;padding:0;list-style:none}.provenance li{padding-bottom:.8rem;border-bottom:1px solid var(--line)}.provenance li span{display:block;color:var(--muted);font-size:.68rem}.provenance .advisor{grid-column:1/-1;padding-top:1rem;border-top:1px solid var(--line)}.page-footer{display:flex;justify-content:space-between;padding:2rem clamp(1rem,5vw,5rem);background:var(--ink);color:white;font-size:.7rem}.page-footer span{color:#aebbb5}@media(max-width:850px){.lab-hero,.section-head,.status-band,.provenance{grid-template-columns:1fr}.lab-hero{padding:3rem 0}.pipeline{grid-template-columns:1fr 1fr}.evidence-grid{grid-template-columns:1fr 1fr}.class-table{grid-column:1/-1}.empty-result{grid-template-columns:1fr}.reaction-orbit{max-width:260px}.section-head{gap:1.5rem}}@media(max-width:540px){main{width:min(100% - 1.2rem,1220px)}.site-head span{display:none}.lab-hero{min-height:0}.hero-copy h1,.section-head h2{font-size:2.8rem}.model-strip{display:grid}.pipeline,.evidence-grid,.status-band dl{grid-template-columns:1fr}.class-table{grid-column:auto}.prediction header,.prediction footer,.page-footer{display:grid}.top-pair{grid-template-columns:1fr}.top-pair>span{text-align:center}.honesty{grid-template-columns:1fr}.section{padding:4rem 0}}
