:root{--bg:#f3f5f8;--card:#fff;--ink:#1c2430;--sub:#5b6676;--brand:#1f6fe5;--line:#e1e6ee;--warn:#fff7e0}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#dfe4ec;color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif}
.shell{max-width:430px;margin:0 auto;min-height:100vh;background:var(--bg);padding-bottom:84px}
.notice{margin:0;padding:8px 14px;background:var(--warn);color:#6a5200;font-size:12.5px;line-height:1.45;border-bottom:1px solid #f0e0a8}
.notice a{color:#6a5200;font-weight:700}
header.top{background:var(--brand);color:#fff;padding:18px 16px 20px}
header.top h1{margin:0;font-size:20px;line-height:1.35}
header.top p{margin:6px 0 0;font-size:13.5px;opacity:.92}
main{padding:14px 14px 0}
section.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;margin:0 0 14px}
h2{font-size:17px;margin:0 0 10px}
h3{font-size:15px;margin:16px 0 6px}
p{margin:0 0 10px}
ol,ul{padding-left:20px;margin:0 0 10px}
li{margin-bottom:6px}
.small{font-size:13px;color:var(--sub)}
.ad{margin:26px 0;padding:6px 0;text-align:center;min-height:120px}
.ad small{display:block;font-size:11px;color:#8a93a1;margin-bottom:4px}
table{width:100%;border-collapse:collapse;font-size:13.5px;margin:6px 0 10px}
th,td{border:1px solid var(--line);padding:7px 6px;text-align:center}
th{background:#eef2f8}
.btnrow{margin-top:14px}
.btn{display:block;width:100%;padding:13px;border:0;border-radius:10px;background:var(--brand);color:#fff;font-size:16px;font-weight:700;text-align:center;text-decoration:none}
label{display:block;font-size:14px;font-weight:600;margin:12px 0 4px}
select,input{width:100%;padding:11px;border:1px solid #c9d1de;border-radius:10px;font-size:16px;background:#fff}
.result{margin-top:14px;padding:14px;background:#eef5ff;border-radius:10px;font-size:15px}
.result b{font-size:20px;color:var(--brand)}
details{border-top:1px solid var(--line);padding:10px 0}
details:first-of-type{border-top:0}
summary{font-weight:700;cursor:pointer}
details p{margin:8px 0 0;color:var(--sub);font-size:14.5px}
footer.src{padding:6px 16px 20px;font-size:12.5px;color:var(--sub)}
footer.src a{color:var(--sub)}
nav.bottom{position:fixed;left:0;right:0;bottom:0;max-width:430px;margin:0 auto;display:flex;background:#fff;border-top:1px solid var(--line);z-index:10;padding-bottom:env(safe-area-inset-bottom)}
nav.bottom a{flex:1;text-align:center;padding:12px 4px;font-size:13px;color:var(--sub);text-decoration:none;font-weight:600}
nav.bottom a[aria-current=page]{color:var(--brand);border-top:3px solid var(--brand);padding-top:9px}
