/* 페이지 본문의 폰트/줄 높이/굵기가 메뉴에 섞이지 않도록 메뉴 자체에서 크기를 확정한다. */
html body nav.sidebar#zcSidebar {
  --nav-ink:#0D1F1A;--nav-text:#2B3A35;--nav-muted:#6B7570;--nav-wash:#F4F5F6;--nav-selected:#F1E9FE;--nav-purple:#5B1FC0;
  --nav-font:Pretendard,"Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;
  width:256px!important;min-width:256px!important;max-width:256px!important;box-sizing:border-box!important;
  position:fixed!important;inset:0 auto 0 0!important;height:100dvh!important;
  display:flex!important;flex-direction:column!important;gap:12px!important;padding:22px 14px 16px!important;
  margin:0!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;
  overflow-x:hidden!important;overflow-y:auto!important;scrollbar-width:none!important;scrollbar-gutter:auto!important;
  font-family:var(--nav-font)!important;font-size:14px!important;font-weight:400!important;line-height:20px!important;
  letter-spacing:-.02em!important;color:var(--nav-text)!important;text-align:left!important;
}
html body nav.sidebar#zcSidebar::-webkit-scrollbar {display:none!important;}
html body nav.sidebar#zcSidebar * {box-sizing:border-box!important;font-family:var(--nav-font)!important;letter-spacing:-.02em!important;}
html body nav.sidebar#zcSidebar > * {flex-shrink:0!important;}
html body nav.sidebar#zcSidebar .sidebar-top {display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:0!important;min-height:32px!important;height:32px!important;margin:0!important;padding:0 6px!important;}
html body nav.sidebar#zcSidebar .logo {display:flex!important;align-items:center!important;justify-content:flex-start!important;width:auto!important;min-height:32px!important;margin:0!important;padding:0!important;gap:10px!important;background:none!important;}
html body nav.sidebar#zcSidebar .logo :is(a,b),html body nav.sidebar#zcSidebar a.logo {font-size:21px!important;font-weight:700!important;line-height:28px!important;text-decoration:none!important;color:var(--nav-ink)!important;}
html body nav.sidebar#zcSidebar .logo a {display:flex!important;align-items:center!important;gap:10px!important;}
html body nav.sidebar#zcSidebar .zc-brand-mark {width:32px!important;min-width:32px!important;height:32px!important;object-fit:contain!important;}
html body nav.sidebar#zcSidebar .zc-icon {display:inline-block;width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;}
html body nav.sidebar#zcSidebar .sidebar-study-time-card {display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:4px!important;height:auto!important;min-height:94px!important;padding:12px 14px!important;margin:0!important;background:var(--nav-wash)!important;border:0!important;border-radius:12px!important;box-shadow:none!important;font-size:12px!important;font-weight:400!important;line-height:18px!important;}
html body nav.sidebar#zcSidebar .study-time-card-head {display:flex!important;align-items:center!important;justify-content:space-between!important;gap:6px!important;height:18px!important;margin:0!important;padding:0!important;font-size:12px!important;font-weight:500!important;line-height:18px!important;color:var(--nav-muted)!important;}
html body nav.sidebar#zcSidebar .study-time-card-head :is(span,b,strong) {font-size:12px!important;font-weight:500!important;line-height:18px!important;color:inherit!important;}
html body nav.sidebar#zcSidebar .study-time-card-head em {display:inline-flex!important;align-items:center!important;justify-content:center!important;height:18px!important;min-height:18px!important;margin:0!important;padding:2px 6px!important;border:0!important;border-radius:4px!important;background:#E9EEEB!important;color:#52635D!important;font-size:10px!important;font-style:normal!important;font-weight:500!important;line-height:14px!important;}
html body nav.sidebar#zcSidebar [data-study-time="today-clock"] {display:block!important;height:28px!important;margin:0!important;padding:0!important;font-size:24px!important;font-weight:700!important;line-height:28px!important;color:var(--nav-ink)!important;font-variant-numeric:tabular-nums;}
html body nav.sidebar#zcSidebar .sidebar-study-time-card small {display:block!important;margin:0!important;padding:0!important;font-size:11px!important;font-weight:400!important;line-height:16px!important;color:var(--nav-muted)!important;white-space:normal!important;}
html body nav.sidebar#zcSidebar .sidebar-study-time-card small b {font-size:11px!important;font-weight:500!important;line-height:16px!important;color:inherit!important;}
html body nav.sidebar#zcSidebar .zc-nav-search {display:flex!important;align-items:center!important;gap:8px!important;width:100%!important;height:38px!important;min-height:38px!important;padding:0 12px!important;margin:0!important;border:0!important;border-radius:10px!important;background:var(--nav-wash)!important;box-shadow:none!important;color:var(--nav-muted)!important;}
html body nav.sidebar#zcSidebar #navSearchInput {display:block!important;width:100%!important;min-width:0!important;height:36px!important;min-height:36px!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;color:var(--nav-ink)!important;font-size:13px!important;font-weight:400!important;line-height:20px!important;}
html body nav.sidebar#zcSidebar .zc-nav-search:focus-within {outline:2px solid #843AF2;outline-offset:2px;}
html body nav.sidebar#zcSidebar #navSearchInput:focus-visible {outline:none!important;}
html body nav.sidebar#zcSidebar .nav-list.nav-groups {display:flex!important;flex-direction:column!important;flex:1 0 auto!important;gap:2px!important;min-height:0!important;width:100%!important;padding:0!important;margin:0!important;overflow:visible!important;}
html body nav.sidebar#zcSidebar .nav-item {display:flex!important;align-items:center!important;gap:10px!important;width:100%!important;height:40px!important;min-height:40px!important;margin:0!important;padding:10px!important;border:0!important;border-radius:10px!important;background:none!important;box-shadow:none!important;transform:none!important;text-decoration:none!important;font-size:14px!important;font-weight:500!important;line-height:20px!important;color:var(--nav-text)!important;}
html body nav.sidebar#zcSidebar .nav-item :is(.nav-text,.nav-text b,.nav-text strong) {margin:0!important;padding:0!important;font-size:14px!important;font-weight:500!important;line-height:20px!important;color:inherit!important;text-decoration:none!important;white-space:nowrap!important;}
html body nav.sidebar#zcSidebar .nav-item .nav-icon {display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 18px!important;width:18px!important;height:18px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;color:var(--nav-muted)!important;filter:none!important;}
html body nav.sidebar#zcSidebar .nav-item:not(.active):hover {background:var(--nav-wash)!important;}
html body nav.sidebar#zcSidebar .nav-item.active,html body nav.sidebar#zcSidebar .nav-item.active:hover {background:linear-gradient(155deg,#A366F5,#7930E6 65%,#6524CA)!important;color:#fff!important;font-weight:700!important;box-shadow:inset 0 1px 0 #FFFFFF60,0 3px 0 #5520AD,0 5px 9px -6px #52229C88!important;}
html body nav.sidebar#zcSidebar .nav-item .nav-text {background:none!important;-webkit-text-fill-color:currentColor!important;}
html body nav.sidebar#zcSidebar .nav-item.active :is(.nav-text,.nav-text b,.nav-text strong,.nav-icon) {font-weight:700!important;color:#fff!important;-webkit-text-fill-color:#fff!important;}
html body nav.sidebar#zcSidebar .nav-item::before,html body nav.sidebar#zcSidebar .nav-item::after {display:none!important;}
html body nav.sidebar#zcSidebar .nav-section {display:block!important;flex:none!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:none!important;}
html body nav.sidebar#zcSidebar .nav-section-title {display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;height:40px!important;min-height:40px!important;padding:8px 10px!important;margin:4px 0!important;border:0!important;border-radius:11px!important;background:none!important;box-shadow:none!important;color:#5E7168!important;font-size:14px!important;font-weight:700!important;line-height:20px!important;list-style:none!important;}
html body nav.sidebar#zcSidebar .nav-section-title > span {font-size:14px!important;font-weight:700!important;line-height:20px!important;color:inherit!important;}
html body nav.sidebar#zcSidebar .nav-section-title .zc-section-label {display:flex!important;align-items:center!important;gap:10px!important;flex:1!important;min-width:0!important;}
html body nav.sidebar#zcSidebar .nav-section-title .zc-section-icon {width:17px!important;height:17px!important;flex:0 0 17px!important;stroke-width:2!important;}
html body nav.sidebar#zcSidebar .nav-section[open] > .nav-section-title {background:#F1E9FE!important;color:#6625C7!important;box-shadow:inset 0 1px 0 #FFFFFF80,0 2px 0 #DDD0F1!important;}
html body nav.sidebar#zcSidebar .nav-section:not([open]) > .nav-section-title:hover {background:var(--nav-wash)!important;}
html body nav.sidebar#zcSidebar .nav-section-title::before,html body nav.sidebar#zcSidebar .nav-section-title > span::before,html body nav.sidebar#zcSidebar .nav-section-title::-webkit-details-marker {display:none!important;}
html body nav.sidebar#zcSidebar .nav-section-arrow {display:inline-grid!important;place-items:center!important;width:16px!important;height:16px!important;padding:0!important;margin:0!important;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;font-size:12px!important;line-height:16px!important;}
html body nav.sidebar#zcSidebar .nav-section-list {display:grid;grid-template-columns:minmax(0,1fr);gap:4px!important;width:100%!important;padding:6px 0 4px 12px!important;margin:0!important;border:0!important;background:none!important;}
html body nav.sidebar#zcSidebar .nav-subheader {display:flex!important;align-items:center!important;gap:7px!important;height:24px!important;min-height:24px!important;margin:0!important;padding:4px 10px!important;font-size:11px!important;font-weight:600!important;line-height:16px!important;color:#6625C7!important;}
html body nav.sidebar#zcSidebar .nav-subheader::after {content:""!important;display:block!important;flex:1!important;height:1px!important;background:#E3EAE6!important;}
html body nav.sidebar#zcSidebar .sidebar-footer {display:grid!important;gap:6px!important;flex:none!important;margin:0!important;margin-top:auto!important;padding:12px 0 0!important;border:0!important;border-top:1px solid #E9ECED!important;background:none!important;}
html body nav.sidebar#zcSidebar .sidebar-credit {display:flex!important;align-items:center!important;gap:8px!important;height:38px!important;min-height:38px!important;padding:8px 10px!important;border:0!important;border-radius:10px!important;background:var(--nav-wash)!important;box-shadow:none!important;}
html body nav.sidebar#zcSidebar .sidebar-credit-label {font-size:12px!important;font-weight:400!important;line-height:20px!important;color:var(--nav-muted)!important;}
html body nav.sidebar#zcSidebar .sidebar-credit-value {font-size:13px!important;font-weight:600!important;line-height:20px!important;color:var(--nav-ink)!important;}
html body nav.sidebar#zcSidebar .sidebar-credit-charge {padding:2px 8px!important;font-size:11px!important;font-weight:600!important;line-height:16px!important;}
html body nav.sidebar#zcSidebar .profile-card {display:flex!important;align-items:center!important;gap:10px!important;padding:4px 6px!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:none!important;}
html body nav.sidebar#zcSidebar .avatar {display:grid!important;place-items:center!important;flex:0 0 36px!important;width:36px!important;height:36px!important;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:#5EDDAE!important;box-shadow:none!important;color:var(--nav-ink)!important;font-size:14px!important;font-weight:600!important;line-height:20px!important;}
html body nav.sidebar#zcSidebar .profile-name {font-size:13px!important;font-weight:600!important;line-height:20px!important;color:var(--nav-ink)!important;}
html body nav.sidebar#zcSidebar :is(.profile-action,#userPlanSide) {font-size:11px!important;font-weight:400!important;line-height:16px!important;color:var(--nav-muted)!important;}
html body nav.sidebar#zcSidebar .admin-trigger {min-height:36px!important;padding:8px 10px!important;font-size:12px!important;font-weight:500!important;line-height:20px!important;}
html body nav.sidebar#zcSidebar [hidden] {display:none!important;}
html body nav.sidebar#zcSidebar .sidebar-study-time-card small[hidden],
html body nav.sidebar#zcSidebar .nav-item[hidden],
html body nav.sidebar#zcSidebar .nav-section[hidden],
html body nav.sidebar#zcSidebar .nav-subheader[hidden] {display:none!important;}
/* 마을의 지도/채팅 디자인은 유지하고, 고정 메뉴가 본문을 가리지 않을 폭만 확보한다. */
@media (min-width:901px) {
  html body.village-body .main-content.village-main {margin-left:256px!important;flex:0 0 calc(100% - 256px)!important;width:calc(100% - 256px)!important;max-width:calc(100% - 256px)!important;}
}
@media (max-width:900px) {
  html body nav.sidebar#zcSidebar {transform:translateX(-100%)!important;visibility:hidden!important;z-index:3000!important;}
  html body nav.sidebar#zcSidebar.active {transform:translateX(0)!important;visibility:visible!important;}
  html body nav.sidebar#zcSidebar .sidebar-close-btn {display:grid!important;place-items:center!important;width:32px!important;min-width:32px!important;height:32px!important;margin:0 0 0 auto!important;padding:0!important;border:0!important;background:none!important;font-size:20px!important;font-weight:400!important;line-height:24px!important;}
}
/* 선공개: 선택한 민트 캡슐. 메뉴 선택 색상과 독립된 상태 표시. */
html body nav.sidebar#zcSidebar .nav-prerelease {
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;
  flex:0 0 auto!important;height:25px!important;min-height:25px!important;margin:0 0 0 auto!important;padding:0 9px!important;
  border:0!important;border-radius:20px!important;background:linear-gradient(180deg,#A3F5D7,#54DBAA 65%,#33C494)!important;
  color:#104C39!important;-webkit-text-fill-color:#104C39!important;font-size:12px!important;font-weight:700!important;line-height:1!important;letter-spacing:-.02em!important;
  box-shadow:inset 0 1px 1px #FFFFFFC0,0 2px 0 #1A996E,0 4px 7px -3px #208A6555!important;
  transform:none;transform-origin:center bottom!important;white-space:nowrap!important;animation:none!important;
}
html body nav.sidebar#zcSidebar .nav-prerelease::before {
  content:""!important;display:block!important;flex:0 0 5px!important;width:5px!important;height:5px!important;border-radius:50%!important;
  background:currentColor!important;box-shadow:0 1px 0 #FFFFFF70!important;
}
