*{box-sizing:border-box}
:root{font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Segoe UI",sans-serif;color:#0f172a;background:#edf3fb;line-height:1.65}
body{margin:0}
a{color:#1d4ed8;text-underline-offset:3px}
a:focus-visible,summary:focus-visible{outline:2px solid #2563eb;outline-offset:3px}
.shell{width:min(100%,430px);min-height:100dvh;margin:auto;background:#f8fafc}
header{min-height:72px;padding:14px 18px;background:white;border-bottom:1px solid #dbe5f0;display:flex;align-items:center;justify-content:space-between;gap:8px}
header a{display:flex;align-items:center;gap:9px;text-decoration:none;color:inherit;font-weight:800}
header span{font-size:12px;color:#475569;white-space:nowrap}
main{padding-bottom:calc(100px + env(safe-area-inset-bottom))}
.hero{padding:24px 20px 18px}
.badge{display:inline-block;background:#d1fae5;color:#065f46;border-radius:99px;padding:4px 12px;font-size:12px;font-weight:800}
h1{font-size:30px;line-height:1.23;word-break:keep-all;margin:14px 0}
h2{font-size:17px;margin:0 0 8px}
p{font-size:14px;color:#475569;margin:8px 0}
.status{background:#fff4df;color:#78350f;border-radius:10px;padding:10px 12px;font-size:13px}
.button,.tabs a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:12px;text-decoration:none;font-weight:750}
.button,.tabs a[aria-current]{background:#2563eb;color:white}
.button:hover,.tabs a[aria-current]:hover{background:#1d4ed8}
.stats{background:#eef6ff;padding:12px 14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.stats div,.card{background:white;border:1px solid #dbe5f0;border-radius:16px}
.stats div{text-align:center;padding:9px 3px;font-size:11px;color:#475569}
.stats b{display:block;color:#1d4ed8;font-size:clamp(12px,3.8vw,15px)}
.card{padding:16px;margin:12px;box-shadow:0 8px 24px #0f172a0b}
.card a,footer a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:700}
dl{margin:12px 0}
dl div{display:grid;grid-template-columns:82px 1fr;gap:8px;border-top:1px solid #dbe5f0;padding:8px 0;font-size:14px}
dt{font-weight:750}dd{margin:0;color:#475569}
.steps{padding-left:22px;margin-bottom:0}.steps li{padding:8px 0}.steps li::marker{font-weight:800;color:#1d4ed8}
details+details{border-top:1px solid #dbe5f0}
summary{cursor:pointer;padding:12px 2px;font-size:14px;font-weight:750}
details p{padding:0 5px 10px}
footer{padding:16px 20px 0}
footer p{font-size:12px}
.tabs{position:fixed;z-index:2;bottom:0;inset-inline:0;width:min(100%,430px);margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:9px 10px calc(9px + env(safe-area-inset-bottom));background:#fffffff5;backdrop-filter:blur(10px);border-radius:20px 20px 0 0;box-shadow:0 10px 40px #0f172a36}
.tabs a{background:#f1f5f9;color:#475569;text-align:center;font-size:13px}
.tabs a:hover{background:#dbeafe;color:#1e40af}
@media(min-width:640px){.shell{margin:18px auto;min-height:calc(100dvh - 36px);border:1px solid #dbe5f0;border-radius:28px;overflow:hidden;box-shadow:0 24px 60px #0f172a1f}}

form label{display:grid;gap:5px;margin:12px 0;font-size:14px;font-weight:650}
form input,form select{width:100%;min-height:44px;border:1px solid #94a3b8;border-radius:8px;padding:6px 9px;background:white;color:inherit;font:inherit}
form .button{width:100%;border:0;cursor:pointer;font:inherit;font-weight:750}
form :focus-visible{outline:2px solid #2563eb;outline-offset:2px}
#result:not(:empty){background:#eef6ff;border-radius:8px;padding:10px}
.ad:not(:empty){margin:20px 12px}
