/* Contigo shared web shell (v4.2): one nav, one footer, one parent tab bar. Mobile-first. */
:root{
  --cn-bg:#F7F8FA;--cn-card:#fff;--cn-ink:#191F28;--cn-sub:#4E5968;--cn-mute:#8B95A1;--cn-line:#E5E8EB;
  --cn-green:#0E9F6E;--cn-green-bright:#2ECC71;--cn-green-tint:#E7F8F0;--cn-yellow:#FFC53D;--cn-yellow-tint:#FFF6DC;
  --cn-pink:#FF7EB3;--cn-pink-tint:#FFEEF5;--cn-blue:#3182F6;--cn-violet:#7C3AED;--cn-violet-tint:#F3EEFF;
  --cn-radius:18px;--cn-shadow:0 8px 24px rgba(25,31,40,.06);
}
.cn-top{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:10px;padding:10px 16px;
  padding-top:max(10px,env(safe-area-inset-top));background:rgba(255,255,255,.92);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--cn-line);font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif}
.cn-top.dark{background:rgba(8,10,16,.72);border-bottom-color:rgba(255,255,255,.08)}
.cn-brand{display:flex;align-items:center;gap:7px;font-weight:850;font-size:15px;letter-spacing:-.02em;color:var(--cn-ink);text-decoration:none;white-space:nowrap}
.cn-top.dark .cn-brand{color:#fff}
.cn-brand i{width:8px;height:8px;border-radius:50%;background:var(--cn-green-bright);box-shadow:0 0 0 3px rgba(46,204,113,.25)}
.cn-links{display:flex;gap:2px;margin-left:auto;overflow-x:auto;scrollbar-width:none}
.cn-links::-webkit-scrollbar{display:none}
.cn-links a{font-size:13px;font-weight:700;color:var(--cn-sub);text-decoration:none;padding:7px 9px;border-radius:999px;white-space:nowrap}
.cn-top.dark .cn-links a{color:rgba(255,255,255,.78)}
.cn-links a.on{color:var(--cn-ink);background:#EEF0F3}
.cn-top.dark .cn-links a.on{color:#fff;background:rgba(255,255,255,.12)}
.cn-cta{flex:0 0 auto;font-size:13px;font-weight:800;color:#fff;background:var(--cn-green);text-decoration:none;padding:8px 13px;border-radius:999px}
.cn-fam{margin-left:auto;font-size:12px;font-weight:800;color:var(--cn-sub);background:#EEF0F3;border-radius:999px;padding:5px 10px;text-decoration:none}
@media (max-width:420px){.cn-links a.cn-hide-sm{display:none}}

.cn-tabs{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;justify-content:space-around;
  background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-top:1px solid var(--cn-line);
  padding:6px 4px calc(6px + env(safe-area-inset-bottom));font-family:Pretendard,-apple-system,sans-serif}
.cn-tabs a{flex:1;max-width:120px;display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;color:var(--cn-mute);font-size:11px;font-weight:700;padding:4px 0;border-radius:12px}
.cn-tabs a b{font-size:18px;line-height:1.2;font-weight:400;filter:grayscale(1);opacity:.7}
.cn-tabs a.on{color:var(--cn-ink)}
.cn-tabs a.on b{filter:none;opacity:1}
body.cn-has-tabs{padding-bottom:calc(72px + env(safe-area-inset-bottom))}

.cn-foot{max-width:720px;margin:32px auto 0;padding:22px 18px 28px;border-top:1px solid var(--cn-line);
  font-family:Pretendard,-apple-system,sans-serif;font-size:12.5px;color:var(--cn-mute);line-height:1.7}
.cn-foot nav{display:flex;flex-wrap:wrap;gap:4px 14px;margin-bottom:8px}
.cn-foot a{color:var(--cn-sub);text-decoration:none;font-weight:600}
.cn-foot a:hover{text-decoration:underline}
.cn-foot.dark{border-top-color:rgba(255,255,255,.1);color:rgba(255,255,255,.5)}
.cn-foot.dark a{color:rgba(255,255,255,.75)}

/* Korean line breaking: don't split words mid-syllable-group */
h1, h2, h3, .cn-keep { word-break: keep-all; overflow-wrap: anywhere; }
