:root{--navy:#14284b;--navy2:#2a4a80;--navy3:#5f7fb5;--navy4:#a9bddd;--bg:#f4f6fb;--white:#fff;--ink:#1b2438;--mute:#5a6479;--line:#d5dbe8;--warn:#fff7e0;--warnline:#e6c96a;}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;font-size:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR","Segoe UI",Roboto,sans-serif;font-size:1.0625rem;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:9}
.top{background:var(--navy);color:#fff;padding:12px 16px;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;justify-content:space-between}
.brand{font-size:16px;letter-spacing:.2px}.brand strong{font-weight:700}
.brand-mark{display:inline-block;width:24px;height:24px;line-height:24px;text-align:center;background:#fff;color:var(--navy);border-radius:6px;font-weight:800;margin-right:6px}
.tag{font-size:12px;opacity:.85}
main{max-width:640px;margin:0 auto;padding:16px 16px 8px;outline:none}
h1{font-size:1.45rem;line-height:1.35;color:var(--navy);margin:8px 0 10px}
h2{font-size:18px;color:var(--navy);margin:0 0 8px}
h3{font-size:16px;color:var(--navy);margin:14px 0 6px}
p{margin:0 0 10px}
.card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:16px;margin:0 0 14px}
.notice{background:var(--warn);border:1px solid var(--warnline);border-radius:14px;padding:14px 16px;margin:0 0 14px}
.notice strong{color:#5b4300}
ul.clean{margin:0;padding-left:20px}ul.clean li{margin:3px 0}
.btn{display:block;width:100%;min-height:52px;max-width:100%;border-radius:12px;border:2px solid var(--navy);background:var(--navy);color:#fff;font:inherit;font-weight:700;font-size:1.0625rem;padding:12px 16px;cursor:pointer;text-align:center;margin:8px 0}
.btn.alt{background:#fff;color:var(--navy)}
.btn.ghost{border-color:var(--line);color:var(--mute);background:#fff;font-weight:500}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn:focus-visible,input:focus-visible+span,summary:focus-visible{outline:3px solid #ffb703;outline-offset:2px}
.row{display:flex;gap:10px}.row .btn{flex:1}
.check{display:flex;gap:10px;align-items:flex-start;margin:10px 0;font-size:16px}
.check input{width:24px;height:24px;margin-top:3px;flex:none}
.progress{margin:0 0 12px}
.progress .bar{height:10px;background:var(--line);border-radius:6px;overflow:hidden}
.progress .bar i{display:block;height:100%;background:var(--navy2)}
.progress p{font-size:14px;color:var(--mute);margin:4px 0 0}
.q{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;margin:0 0 12px}
.q legend{font-weight:700;padding:0;margin-bottom:8px;float:left;width:100%}
.q .opts{clear:both;display:grid;gap:8px}
.opt{display:block;position:relative}
.opt input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.opt span{display:block;border:2px solid var(--line);border-radius:12px;padding:12px 14px;min-height:48px;background:#fff}
.opt input:checked+span{border-color:var(--navy);background:#e8eef9;font-weight:700}
.opt.unk span{border-style:dashed;color:var(--mute);font-size:15px}
.badge{display:inline-block;font-size:12px;border:1px solid var(--navy3);color:var(--navy2);border-radius:20px;padding:1px 8px;margin-right:6px;vertical-align:middle}
.small{font-size:14px;color:var(--mute)}
.stack{display:flex;height:22px;border-radius:6px;overflow:hidden;border:1px solid var(--line);background:#fff;margin:6px 0}
.stack i{display:block;height:100%}
.l0{background:#e3e9f5}.l1{background:var(--navy4)}.l2{background:var(--navy3)}.l3{background:var(--navy)}.lu{background:repeating-linear-gradient(45deg,#fff,#fff 4px,#d9dde6 4px,#d9dde6 8px)}
.legend{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:13px;color:var(--mute)}
.legend b{display:inline-block;width:12px;height:12px;border:1px solid var(--line);vertical-align:-1px;margin-right:4px}
.item{display:grid;grid-template-columns:1fr;gap:2px;padding:7px 0;border-top:1px solid var(--line);font-size:15px}
.meter{display:flex;gap:3px}.meter i{flex:1;height:10px;background:#e3e9f5;border-radius:3px}.meter i.on{background:var(--navy2)}
.meter.u i{background:repeating-linear-gradient(45deg,#fff,#fff 3px,#d9dde6 3px,#d9dde6 6px)}
details{margin:0 0 10px}summary{cursor:pointer;font-weight:700;color:var(--navy);padding:6px 0}
.crisis{max-width:640px;margin:8px auto 24px;padding:14px 16px;border:1px solid var(--navy4);background:#eef3fb;border-radius:14px;font-size:14px}
.crisis h2{font-size:15px}.crisis ul{margin:0;padding-left:20px}.crisis .fine{margin:8px 0 0;color:var(--mute);font-size:12px}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:var(--navy);color:#fff;padding:10px 16px;border-radius:10px;font-size:15px;z-index:20}
.printonly{display:none}
@media (min-width:700px){main{padding-top:28px}}
@media print{
  @page{size:A4;margin:14mm}
  body{background:#fff;font-size:11pt;color:#000}
  .top,.noprint,.skip,.toast{display:none!important}
  .printonly{display:block}
  .card,.notice,.q{break-inside:avoid;border-color:#999}
  main{max-width:none;padding:0}
  .crisis{max-width:none;break-inside:avoid;margin-top:10px}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

.sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.check-group{border:0;padding:0;margin:0 0 6px}.check-group legend{font-weight:700;color:var(--navy);padding:0;margin-bottom:4px}
a{color:var(--navy2);text-decoration:underline}
.check input:focus-visible{outline:3px solid #ffb703;outline-offset:2px}
.btn{white-space:normal}
.row{flex-wrap:wrap}.row .btn{min-width:130px}
.top{flex-direction:row}
@media (max-width:359px){main{padding:12px 12px 8px}.crisis{margin-left:8px;margin-right:8px}h1{font-size:1.3rem}.opt span{padding:10px 12px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

a.btn{text-decoration:none}
.home-card h2{margin-top:0}
