:root{--ink:#173532;--muted:#5c716e;--paper:#fbfaf6;--card:#fff;--line:#d8e1de;--brand:#1d5f57;--brand2:#d7eee8;--accent:#f2b84b;--danger:#a33b32;--shadow:0 18px 50px rgba(30,70,64,.1);font-family:system-ui,Noto Sans Thai,Tahoma,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0;line-height:1.6}a{color:var(--brand);text-underline-offset:.2em}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.shell{width:min(1120px,calc(100% - 2rem));margin-inline:auto}.skip-link{position:absolute;left:-999px;top:1rem;background:#fff;padding:.75rem;z-index:10}.skip-link:focus{left:1rem}.site-header{background:#fbfaf6f5;border-bottom:1px solid var(--line)}.nav-wrap{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{color:var(--ink);text-decoration:none;font-size:1.15rem;font-weight:800}.brand span{color:var(--brand);font-size:1.4rem}.nav-wrap nav,.footer-grid nav{display:flex;gap:1rem;flex-wrap:wrap}.nav-wrap nav a{text-decoration:none;font-weight:650}.hero{padding:2.4rem 0 1.2rem}.eyebrow{color:var(--brand);font-weight:750;letter-spacing:.02em;margin:0 0 .4rem}.hero h1{margin:0;font-size:clamp(2rem,7vw,3.6rem);line-height:1.15;max-width:850px}.lead{color:var(--muted);font-size:1.1rem;max-width:730px}.privacy-note{display:inline-flex;gap:.5rem;align-items:center;padding:.55rem .8rem;border-radius:999px;background:var(--brand2);font-weight:650;font-size:.92rem}.tool-card{background:var(--card);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:clamp(1rem,4vw,2rem);margin-bottom:2.5rem}.tool-grid{display:grid;gap:1.25rem}.upload{border:2px dashed #9bbcb6;border-radius:18px;padding:1.5rem;text-align:center;background:#f6fbf9}.upload input{width:100%;max-width:420px}.upload strong{display:block;font-size:1.1rem;margin-bottom:.3rem}.hint{color:var(--muted);font-size:.9rem;margin:.35rem 0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{display:grid;gap:.35rem}.field.full{grid-column:1/-1}.field label,legend{font-weight:700}.field input,.field select{min-height:48px;border:1px solid #aebfbc;border-radius:10px;padding:.65rem .75rem;background:#fff;color:var(--ink);width:100%}fieldset{border:0;padding:0;margin:0}.primary{width:100%;min-height:54px;padding:.8rem 1rem;border:0;border-radius:12px;background:var(--brand);color:#fff;font-weight:800;cursor:pointer}.primary:hover{background:#164b45}.primary:disabled{opacity:.55;cursor:wait}.status{margin-top:1.2rem;border-top:1px solid var(--line);padding-top:1.2rem}.status[hidden]{display:none}.status-grid{display:grid;gap:1rem}.result-box{padding:1rem;border-radius:14px;background:#f5f8f7}.result-box h3{margin:.1rem 0}.result-box ul{padding-left:1.25rem}.ok{color:#19704d;font-weight:750}.error{color:var(--danger);font-weight:700}.download{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:.65rem 1rem;border-radius:10px;background:var(--accent);color:#26312f;font-weight:800;text-decoration:none}.content-section{padding:1rem 0 3rem}.content-grid{display:grid;gap:1.25rem}.info-card{border-top:3px solid var(--brand);background:#fff;padding:1.2rem;border-radius:0 0 14px 14px}.prose{width:min(760px,calc(100% - 2rem));margin:2.5rem auto 4rem}.prose h1{font-size:clamp(1.8rem,6vw,3rem);line-height:1.2}.prose h2{margin-top:2rem}.prose li{margin:.4rem 0}.callout{background:var(--brand2);padding:1rem;border-radius:12px}footer{border-top:1px solid var(--line);padding:2rem 0 1rem;background:#eef4f1}.footer-grid{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}.footer-grid p{margin:.3rem 0;color:var(--muted)}.copyright{text-align:center;color:var(--muted);font-size:.85rem}@media(min-width:760px){.tool-grid{grid-template-columns:.8fr 1.2fr}.status-grid,.content-grid{grid-template-columns:repeat(3,1fr)}.hero{padding-top:4rem}}@media(max-width:480px){.fields{grid-template-columns:1fr}.field.full{grid-column:auto}.nav-wrap nav a:last-child{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
