body{margin:0;font-family:'Noto Sans Thai',sans-serif;background:linear-gradient(180deg,#fff5f8,#fdeef4);color:#333}
.header{text-align:center;padding:22px 12px}
.logo{width:70px;height:70px;display:block;margin:0 auto 10px}
h1{margin:0;font-size:28px;font-weight:900;color:#cc3c6c}
h2{margin:0;font-size:18px;font-weight:700;color:#a43a6f}
.version,.js-status{font-size:12px;text-align:center;opacity:.8;margin-top:4px}
.js-status.ok{color:#2b9348}.js-status.bad{color:#d00000}
.container{max-width:760px;margin:0 auto;padding:16px}
.card{background:#ffffff;border:1px solid #f8d7e3;border-radius:18px;padding:16px;margin:16px 10px;box-shadow:0 6px 14px rgba(204,60,108,0.08)}
h3{margin:2px 0 12px;color:#7a294a}
.circle-wrap{text-align:center;margin:8px 0 12px}
.circle{width:90px;height:90px;border-radius:50%;background:#f3a6c3;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:900;color:#fff;margin:0 auto;box-shadow:0 4px 10px rgba(0,0,0,0.15)}
.circle-label{margin-top:6px;font-weight:600;color:#7a294a}
.subtab-row{display:flex;gap:8px;margin:6px 0 8px}
.subtab{padding:6px 14px;border:1px solid #f3a6c3;border-radius:999px;background:#ffe8f0;color:#7a294a;cursor:pointer}
.subtab.active{background:#f06292;color:#fff;border-color:#f06292}
.primary{display:block;margin:8px 0 10px;padding:10px 16px;border:none;border-radius:999px;background:#43aa8b;color:#fff;font-weight:800;cursor:pointer;box-shadow:0 4px 10px rgba(0,0,0,0.12)}
.datebox{font-size:14px;color:#555;margin-bottom:8px}
.results{background:#fff7fb;border:1px solid #fbe2ec;border-radius:12px;padding:10px}
.results div{margin:4px 0;font-size:16px}
.disclaimer{font-size:14px;color:#555}
.errorlog{font-size:12px;color:#b00020;margin-top:8px;white-space:pre-wrap}
