:root{--bg:#f6f7f9;--card:#ffffff;--ink:#16202a;--muted:#55606b;--line:#d9dee3;--accent:#0b5cad;--err:#b3261e}@media (prefers-color-scheme:dark){:root{--bg:#11161b;--card:#1a2128;--ink:#eef1f4;--muted:#a6b0ba;--line:#2d3740;--accent:#6cb4ff;--err:#ff8a80}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,Noto Sans Thai,Sarabun,sans-serif;line-height:1.55}main{max-width:720px;margin:0 auto;padding:16px;display:grid;grid-gap:16px;gap:16px}h1{font-size:1.35rem;margin:0}h2{font-size:1.05rem;margin:0 0 8px}.muted{color:var(--muted);font-size:.9rem;margin:8px 0 0}.error{color:var(--err);margin:0}.selector{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.selector label{display:grid;grid-gap:4px;gap:4px;font-size:.9rem;color:var(--muted)}.btn,.geo,select{font:inherit;min-height:44px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:8px 12px}.geo{grid-column:1/-1;background:var(--accent);border-color:var(--accent);color:#fff;cursor:pointer}@media (prefers-color-scheme:dark){.geo{color:#04223f}}.selector p{grid-column:1/-1;margin:0}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.answer{border-radius:14px;padding:16px;background:var(--card)}.answer p{margin:4px 0}.answer .big{font-size:2.6rem;font-weight:700;line-height:1.1}.answer .big span{font-size:1rem;font-weight:400}.answer .lvl{font-weight:700}.acc,.advice{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px}.advice ul{margin:0;padding-left:20px}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.tile{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px;display:grid}.tile span{color:var(--muted);font-size:.85rem}.tile b{font-size:1.4rem}.actions{display:flex;flex-wrap:wrap;gap:8px}.btn{display:inline-flex;align-items:center;color:var(--accent);text-decoration:none;cursor:pointer}.map{width:100%;height:320px;border:1px solid var(--line);border-radius:12px}.acc summary{cursor:pointer;font-weight:700;min-height:32px}.chart{margin:8px 0 0}.chart svg{width:100%;height:auto}.chart .grid{stroke:var(--line)}.chart .axis{fill:var(--muted);font-size:11px}.chart .line{stroke:var(--accent);stroke-width:2}@media (min-width:768px){.grid2{grid-template-columns:repeat(3,1fr)}}.topbar{display:flex;justify-content:space-between;gap:12px}.topbar,.topbar a{align-items:center}.topbar a{color:var(--accent);min-height:44px;display:inline-flex}.topbar .brand{font-weight:700;color:var(--ink);text-decoration:none}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px}.card p{margin:0}.card table{width:100%;border-collapse:collapse}.card td,.card th{text-align:left;padding:8px 4px;border-bottom:1px solid var(--line)}.dot{display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:middle}.links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);grid-gap:2px 12px;gap:2px 12px}.links a{color:var(--accent);display:inline-flex;align-items:center;min-height:44px}.faq{border-top:1px solid var(--line);padding:4px 0}.faq summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}.tile .na{font-style:normal;font-size:.95rem;color:var(--muted)}@media (min-width:768px){.links{grid-template-columns:repeat(4,1fr)}}