/* 사용자가 지정한 Claude 프로토타입의 시각 체계. 마을에서는 이 파일을 불러오지 않는다.
 * 범위 선택자는 기존 :has() 기반의 !important 스타일보다 우선하며, 마을/구형 화면은 제외한다. */
html body.zc-prototype:not(.village-body):not(.zc-legacy) {
  --zc-canvas:#F2F3F4; --zc-surface:#fff; --zc-inset:#F4F5F6; --zc-line:#E9ECED;
  --zc-ink:#0D1F1A; --zc-text:#2B3A35; --zc-sub:#6B7570;
  --zc-mint:#5EDDAE; --zc-mint-strong:#34C995; --zc-mint-ink:#0B7A53;
  --zc-purple:#843AF2; --zc-purple-deep:#6A22D6; --zc-purple-soft:#F1E9FE;
  --zc-card-shadow:0 1px 2px rgba(13,58,43,.05),0 3px 8px -4px rgba(13,58,43,.10);
  --zc-depth-mint-face:radial-gradient(ellipse at 30% 12%,#A9F4D8,#68DDB5 40%,#38C79A 76%,#28B98A);
  --zc-depth-mint-shadow:inset 0 2px 1px #FFFFFF90,inset 0 -2px 2px #168C6935,0 3px 0 #249F79,0 7px 9px -4px #26765B66;
  --zc-depth-purple-face:radial-gradient(ellipse at 30% 12%,#D7B6FF,#A86AF0 40%,#843BD7 76%,#7430C9);
  --zc-depth-purple-shadow:inset 0 2px 1px #FFFFFF90,inset 0 -2px 2px #42118435,0 3px 0 #6024AD,0 7px 9px -4px #35106570;
  --zc-depth-white-shadow:inset 0 1px 0 #FFFFFF,0 2px 0 #DEE7E1,0 4px 6px -4px #31574344;
  --zc-font:Pretendard,"Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;
  --primary:var(--zc-purple); --primary-dark:var(--zc-purple-deep); --primary-light:var(--zc-purple-soft);
  --violet:var(--zc-purple); --violet-deep:var(--zc-purple-deep); --violet-tint:var(--zc-purple-soft);
  --ink:var(--zc-ink); --text:var(--zc-text); --muted:var(--zc-sub); --line:var(--zc-line);
  --paper:var(--zc-canvas); --wash:#F8FAF9; --green:var(--zc-mint-ink); --green-tint:#E3F7EE;
  --sori-ink:var(--zc-ink); --sori-text:var(--zc-text); --sori-muted:var(--zc-sub);
  --sori-primary:var(--zc-purple); --sori-primary-strong:var(--zc-purple-deep); --sori-primary-soft:var(--zc-purple-soft);
  --sori-canvas:var(--zc-canvas); --sori-line:var(--zc-line);
  --usb-ink:var(--zc-ink); --usb-text:var(--zc-text); --usb-muted:var(--zc-sub); --usb-line:var(--zc-line);
  --usb-violet:var(--zc-purple); --usb-violet-deep:var(--zc-purple-deep); --usb-violet-tint:var(--zc-purple-soft);
  --ui-bg:var(--zc-canvas); --ui-text:var(--zc-ink); --ui-muted:var(--zc-sub); --ui-border:var(--zc-line);
  --ui-primary:var(--zc-purple); --ui-primary-2:var(--zc-purple-deep); --ui-primary-soft:var(--zc-purple-soft);
  --sidebar-width:256px; --shell-sidebar-width:256px; --sorizava-sidebar-width:256px; --sori-sidebar-width:256px;
  --sorizava-font-sans:var(--zc-font); --font-sans:var(--zc-font); --font-num:var(--zc-font); --usb-font-num:var(--zc-font);
  margin:0; min-width:320px; color:var(--zc-ink)!important; background:var(--zc-canvas)!important;
  font-family:var(--zc-font)!important; font-size:14px; line-height:1.5; letter-spacing:-.02em;
  -webkit-font-smoothing:antialiased;
}
html:has(body.zc-prototype) { background:#F2F3F4; font-size:100%; scroll-padding-top:24px; }
html body.zc-prototype:not(.village-body):not(.zc-legacy) ::selection {background:#C9F5E1;color:#0D1F1A;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) :focus-visible {outline:3px solid var(--zc-purple)!important;outline-offset:3px;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) :is(input,textarea) {caret-color:var(--zc-purple);}
html body.zc-prototype:not(.village-body):not(.zc-legacy) :is(button,input,select,textarea) {font-family:var(--zc-font)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) :is(button,a,input,select,textarea) {touch-action:manipulation;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) :is(button,input,select,textarea):disabled {cursor:not-allowed;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) :is(h1,h2,h3) {color:var(--zc-ink);letter-spacing:-.03em;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) :is(h1,h2,h3,p) {overflow-wrap:break-word;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) :is(.num,[data-study-time],.dz-stat-card b,td) {font-variant-numeric:tabular-nums;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .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.zc-prototype:not(.village-body):not(.zc-legacy) :is(.zc-brand-mark) {width:32px;height:32px;flex:none;}

/* 메뉴. 기존 네비게이션·공부시간·권한 표시를 그대로 사용한다. */
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar {
  position:fixed!important;inset:0 auto 0 0!important;width:256px!important;min-width:256px!important;max-width:256px!important;
  height:100vh!important;height:100dvh!important;display:flex!important;flex-direction:column!important;
  gap:12px!important;padding:22px 14px 16px!important;background:#fff!important;border:0!important;
  border-radius:0!important;box-shadow:none!important;overflow-y:auto!important;overflow-x:hidden!important;
  color:var(--zc-text)!important;backdrop-filter:none!important;scrollbar-width:thin;scrollbar-color:#DCE1DE transparent;
}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .sidebar-top {padding:0 6px!important;margin:0!important;min-height:32px!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .sidebar-top {justify-content:flex-start!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .logo {width:auto!important;justify-content:flex-start!important;padding:0!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .logo {display:flex!important;align-items:center!important;gap:10px!important;font-size:21px!important;font-weight:700!important;color:var(--zc-ink)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .logo a {display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .sidebar-study-time-card {margin:0!important;padding:12px 14px!important;border:0!important;border-radius:12px!important;background:var(--zc-inset)!important;box-shadow:none!important;display:grid!important;gap:4px!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .study-time-card-head {font-size:12px!important;font-weight:500!important;color:var(--zc-sub)!important;display:flex!important;align-items:center!important;gap:6px;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .study-time-card-head em {background:#E9EEEB!important;color:#52635D!important;border:0!important;font-size:10px!important;padding:2px 7px!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .sidebar-study-time-card strong {font-size:24px!important;font-weight:700!important;line-height:1.15!important;color:var(--zc-ink)!important;letter-spacing:-.02em!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .sidebar-study-time-card small {font-size:11px!important;color:var(--zc-sub)!important;font-weight:400!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .zc-nav-search {display:flex;align-items:center;gap:8px;flex:none;height:38px;padding:0 12px;border-radius:10px;background:var(--zc-inset);color:var(--zc-sub);}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .zc-nav-search input {border:0!important;box-shadow:none!important;border-radius:0!important;outline:none;background:transparent!important;min-width:0;width:100%;height:36px;padding:0!important;font-size:13px!important;color:var(--zc-ink);}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .zc-nav-search:focus-within {outline:2px solid var(--zc-purple);outline-offset:2px;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .zc-nav-search input:focus-visible {outline:none!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar :is(.nav-list,.nav-groups) {display:flex!important;flex-direction:column!important;gap:2px!important;min-height:0!important;flex:1 0 auto!important;margin:0!important;padding:0!important;overflow:visible!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .nav-item {position:relative!important;display:flex!important;align-items:center!important;gap:10px!important;min-height:38px!important;height:auto!important;margin:0!important;padding:8px 10px!important;border:0!important;border-radius:10px!important;background:transparent!important;box-shadow:none!important;transform:none!important;color:var(--zc-text)!important;font-size:14px!important;font-weight:500!important;text-decoration:none;letter-spacing:-.02em!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .nav-item::before,html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .nav-item::after {display:none!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .nav-item:hover {background:#F2F4F5!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .nav-item.active {background:var(--zc-purple-soft)!important;color:#5B1FC0!important;font-weight:700!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .nav-item.active .nav-icon {color:var(--zc-purple-deep)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .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;padding:0!important;background:none!important;color:var(--zc-sub)!important;border:0!important;border-radius:0!important;}
/* 승급실의 상시 홍보 강조를 해제한다. 보라색은 현재 화면(.active)에만 쓴다. */
html body.zc-prototype nav.sidebar .nav-list.nav-groups .nav-item:not(.active) {background:transparent!important;box-shadow:none!important;border:0!important;color:var(--zc-text)!important;font-weight:500!important;}
html body.zc-prototype nav.sidebar .nav-list.nav-groups .nav-item:not(.active) :is(.nav-text,.nav-icon) {color:var(--zc-text)!important;filter:none!important;}
html body.zc-prototype nav.sidebar .nav-list.nav-groups .nav-item.active,
html body.zc-prototype nav.sidebar .nav-list.nav-groups .nav-item.active:hover {background:var(--zc-purple-soft)!important;box-shadow:none!important;border:0!important;color:#5B1FC0!important;font-weight:700!important;}
html body.zc-prototype nav.sidebar .nav-list.nav-groups .nav-item.active :is(.nav-text,.nav-icon) {color:#5B1FC0!important;filter:none!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .nav-text {white-space:nowrap!important;font-size:14px!important;overflow:hidden;text-overflow:ellipsis;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .nav-text {color:inherit!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .nav-section {margin:0!important;padding:0!important;border:0!important;background:none!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .nav-section {border-radius:0!important;box-shadow:none!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .nav-section-title::before {display:none!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .nav-section-title > span:first-child::before {display:none!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .nav-section-title {background:transparent!important;box-shadow:none!important;border:0!important;border-radius:0!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .nav-section-arrow {background:transparent!important;box-shadow:none!important;color:var(--zc-sub)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .nav-section-title {display:flex!important;align-items:center!important;justify-content:space-between!important;padding:14px 10px 4px!important;min-height:36px!important;font-size:11.5px!important;font-weight:700!important;color:var(--zc-sub)!important;letter-spacing:.01em!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .nav-section-list {padding:0!important;margin:0!important;display:grid;gap:2px;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .nav-subheader {font-size:11px!important;color:var(--zc-sub)!important;padding:8px 10px 2px!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .sidebar-footer {margin-top:auto!important;padding:12px 0 0!important;border-top:1px solid var(--zc-line)!important;display:grid!important;gap:6px!important;background:transparent!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .profile-card {background:transparent!important;box-shadow:none!important;border:0!important;padding:4px 6px!important;gap:10px!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .avatar {display:grid!important;place-items:center;width:36px!important;height:36px!important;min-width:36px!important;border-radius:50%!important;background:var(--zc-mint)!important;color:var(--zc-ink)!important;box-shadow:none!important;font-size:14px!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .profile-name {font-size:13px!important;color:var(--zc-ink)!important;font-weight:700!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar .profile-action {font-size:11px!important;color:var(--zc-sub)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar :is(.sidebar-credit,.sidebar-credit-card,.sidebar-wallet,.credit-nav-card) {background:var(--zc-inset)!important;box-shadow:none!important;border:0!important;border-radius:10px!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .zc-nav-empty {margin:10px;padding:12px 0;font-size:12px;color:var(--zc-sub);}
html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar [hidden] {display:none!important;}

/* 원래 화면의 숨김/로딩/로그인 상태를 건드리지 않고 본문 배치만 통일한다. */
html body.zc-prototype:not(.village-body):not(.zc-legacy) #app-wrapper {background:transparent!important;min-width:0;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) :is(main.main-content,main.sparta-main,main.unlock-main,main.measure-main,.admin-content) {
  box-sizing:border-box!important;min-width:0!important;max-width:none!important;background:var(--zc-canvas)!important;
  padding:32px 40px 96px!important;gap:20px!important;
}
@media (min-width:901px) {
  html body.zc-prototype:not(.village-body):not(.zc-legacy):has(nav.sidebar) #app-wrapper {display:block!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy):has(nav.sidebar) :is(main.main-content,main.sparta-main,main.unlock-main,main.measure-main,.admin-content) {margin-left:256px!important;width:calc(100% - 256px)!important;}
}
html body.zc-prototype:not(.village-body):not(.zc-legacy) :is(.portal-page,.dashboard-page.dashboard-executive,.mypage-page,.unlock-page,.sparta-page-shell) {width:100%!important;max-width:1400px!important;margin-inline:auto!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) :is(.page-header,.portal-page-header,.my-clean-header) {background:none!important;border:0!important;box-shadow:none!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) :is(.page-header h1,.portal-page-header h1,.my-clean-header h1) {font-size:26px!important;font-weight:700!important;line-height:1.25!important;color:var(--zc-ink)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) :is(.page-header p,.portal-page-header p,.my-clean-header p) {font-size:13px!important;color:var(--zc-sub)!important;font-weight:400!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) :is(.portal-label,.page-eyebrow,.page-kicker) {display:none!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) :is(.portal-card,.room-ladder-card,.material-browser-card,.recent-records-card,.practice-panel,.result-card,.history-panel,.card-box,.podium-card,.exam-v18-card,.toksori-single-card,.study-tool-card,.st-card,.sx-card) {background:#fff!important;border:0!important;border-radius:18px!important;box-shadow:var(--zc-card-shadow)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) :is(.portal-card h2,.room-ladder-head h2,.material-browser-head h2) {font-weight:700!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) :is(.btn-primary,.primary-btn,.portal-btn.primary,.btn-purple,.start-btn,.sr-btn-primary) {background:linear-gradient(135deg,#A56BFF,#843AF2 50%,#6A22D6)!important;color:#fff!important;border:0!important;border-radius:11px!important;box-shadow:0 1px 2px rgba(59,14,140,.25)!important;font-weight:700!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) :is(.btn-secondary,.portal-btn:not(.primary),.sr-btn-secondary) {border:1px solid var(--zc-line)!important;border-radius:10px!important;background:#fff!important;color:var(--zc-text)!important;box-shadow:0 1px 2px rgba(13,58,43,.06)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) :is(button,a)[aria-disabled="true"],html body.zc-prototype:not(.village-body):not(.zc-legacy) button:disabled {filter:none!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea):not(.zc-nav-search input) {border-color:#DCE3DF;border-radius:10px;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) :is(th,.table-head) {background:#F7F9F8;color:var(--zc-sub);font-weight:600;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) :is(.app-footer,.contact-mail-footer) {color:var(--zc-sub)!important;border-color:var(--zc-line)!important;font-size:12px!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .app-footer {max-width:1400px;margin-inline:auto;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .app-footer :is(a,b,summary,.app-copy) {color:var(--zc-sub)!important;}

/* 대시보드: 프로토타입의 배치와 실제 서비스 데이터용 ID를 결합한다. */
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dashboard-page.dashboard-executive {gap:20px!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .zc-page-head {display:flex;align-items:center;gap:16px;min-width:0;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .zc-page-head > div {flex:1;min-width:0;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .zc-page-head h1 {margin:0;font-size:26px;font-weight:700;line-height:1.25;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .zc-page-head p {margin:4px 0 0;font-size:13px;color:var(--zc-sub);}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .zc-manual {display:inline-flex;align-items:center;gap:6px;padding:9px 14px;min-height:38px;border-radius:10px;background:#fff;box-shadow:0 0 0 1px rgba(13,58,43,.08),0 1px 2px rgba(13,58,43,.08);font-size:13px;font-weight:600;color:var(--zc-text);text-decoration:none;white-space:nowrap;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .zc-manual[hidden] {display:none!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .portal-notice {gap:14px!important;padding:12px 16px!important;border:0!important;border-radius:18px!important;background:#fff!important;box-shadow:var(--zc-card-shadow)!important;min-height:56px;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .portal-notice > strong {display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:none;min-height:38px;border-radius:999px!important;background:linear-gradient(180deg,#8EEEC9 0%,#72E5BB 50%,#5EDDAE 100%)!important;color:#155844!important;padding:0 15px!important;font-size:14px!important;font-weight:600!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.8),inset 0 -1px 0 rgba(20,122,83,.12),0 2px 0 #46BE95,0 5px 9px -5px rgba(24,128,92,.32);}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .portal-notice > strong .zc-icon {width:18px;height:18px;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .portal-notice .notice-preview {font-size:13.5px!important;color:var(--zc-ink)!important;font-weight:500!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .portal-notice .notice-more-btn {background:var(--zc-ink)!important;color:#fff!important;font-size:13px!important;font-weight:600!important;padding:8px 14px!important;border-radius:10px!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .portal-notice #noticeReopenPopupBtn {background:transparent!important;color:var(--zc-sub)!important;font-weight:400!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero {position:relative;display:grid!important;grid-template-columns:minmax(0,1fr) 220px!important;gap:16px!important;align-items:center;min-height:204px;padding:30px 36px!important;border-radius:22px!important;overflow:visible!important;background:linear-gradient(120deg,#3A0C9A 0%,#5A1BC8 55%,#7B33EC 100%)!important;box-shadow:0 2px 6px -2px rgba(42,8,112,.28),inset 0 1.5px 0 rgba(255,255,255,.18)!important;color:#fff!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero::before,html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero::after {display:none!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero-title {margin:0 0 14px!important;color:#fff!important;font-size:28px!important;line-height:1.3!important;letter-spacing:-.03em!important;font-weight:700!important;text-wrap:balance;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero-title > span {display:none;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero-meta {display:flex;flex-wrap:wrap;gap:8px 14px!important;margin-bottom:24px!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) :is(.dz-hero-recent,.dz-hero-accuracy,.dz-hero-meta b) {color:#E4D4FF!important;font-size:13px!important;font-weight:500!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero-meta b {font-weight:700!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) #dashboardContinueAccuracy {color:#8EEEC9!important;font-weight:700!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero-ico {display:inline-flex;color:#D5BEFF;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero-accuracy {padding-left:14px!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero-accuracy::before {background:rgba(255,255,255,.28)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero-actions {gap:10px!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero-btn {display:inline-flex;align-items:center;justify-content:center;gap:8px;height:auto!important;min-height:42px!important;padding:11px 18px!important;border:0!important;border-radius:11px!important;font-size:14px!important;font-weight:700!important;transition:transform .15s ease!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero-btn.primary {background:linear-gradient(135deg,#8EEEC9,#5EDDAE 55%,#34C995)!important;color:#0D1F1A!important;box-shadow:0 1px 2px rgba(11,107,73,.28),inset 0 1px 0 rgba(255,255,255,.45)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero-btn.ghost {background:#fff!important;color:#3A0C9A!important;box-shadow:0 1px 2px rgba(30,5,96,.3)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero-btn:hover {transform:translateY(-1px)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero-mascot {position:absolute!important;right:16px;bottom:10px;width:230px;height:230px;min-height:0!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero-mascot img {width:230px!important;height:230px!important;max-height:none!important;object-fit:contain;filter:none!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero-bubble {top:76px!important;right:auto!important;left:-12px;padding:6px 12px!important;font-size:11px!important;font-weight:700!important;box-shadow:none!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-stat-grid {display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;border-radius:18px;background:#fff;box-shadow:var(--zc-card-shadow);overflow:hidden;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-stat-card {display:grid!important;grid-template-columns:18px minmax(0,1fr);grid-template-rows:auto auto auto;gap:10px 8px!important;align-items:center!important;padding:22px 24px!important;border:0!important;border-right:1px solid #EEF1EF!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;transform:none!important;min-width:0;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-stat-card:last-child {border-right:0!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-stat-card:hover {background:#FAFCFB!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-stat-ico {align-self:start;width:16px!important;height:16px!important;min-width:0!important;border-radius:0!important;background:none!important;color:var(--zc-sub);}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-stat-ico .zc-icon {width:16px;height:16px;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-stat-body {display:contents!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-stat-label {color:var(--zc-sub)!important;font-size:12px!important;font-weight:500!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-stat-card b {grid-column:1/-1;color:var(--zc-ink)!important;font-size:30px!important;line-height:1.2!important;font-weight:700!important;letter-spacing:-.03em!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-stat-sub {position:static!important;grid-column:1/-1;min-height:18px;color:var(--zc-sub)!important;font-size:12px!important;font-weight:400!important;text-align:left!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-stat-sub:empty {display:block!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-stat-sub-trend.up {color:var(--zc-mint-ink)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-alerts {gap:20px!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-alert-card {padding:18px 20px!important;gap:14px!important;border:0!important;border-radius:18px!important;background:#fff!important;box-shadow:var(--zc-card-shadow)!important;transform:none!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-alert-ico {width:42px!important;height:42px!important;border-radius:10px!important;background:#F1F4F3!important;color:var(--zc-text)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-alert-title {font-size:14px!important;font-weight:700!important;color:var(--zc-ink)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-alert-desc {font-size:12.5px!important;color:var(--zc-sub)!important;font-weight:400!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-alert-cta {font-size:12px!important;font-weight:600!important;padding:8px 12px!important;border:1px solid var(--zc-line)!important;border-radius:10px!important;background:#fff!important;color:var(--zc-text)!important;transform:none!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-alert-badge {background:#FFF1DC!important;color:#A65E00!important;font-size:10px!important;font-weight:600!important;padding:2px 6px!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-duo {gap:20px!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-duo > .dz-panel {display:flex!important;flex-direction:column!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-panel::before,html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-panel::after {display:none!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-panel {padding:24px!important;border:0!important;border-radius:18px!important;box-shadow:var(--zc-card-shadow)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-panel-head {margin:0 0 14px!important;gap:10px!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-panel-head h2 {font-size:16px!important;font-weight:700!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dashboard-text-btn {min-height:36px;font-size:12px!important;font-weight:500!important;color:var(--zc-sub)!important;background:transparent!important;border:0!important;padding:6px 8px!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dashboard-goal-summary {display:flex;flex-wrap:wrap;gap:8px!important;align-items:baseline;margin:0 0 8px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;font-size:12px!important;color:var(--zc-sub)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dashboard-goal-summary :is(b,strong) {font-size:14px!important;color:var(--zc-mint-ink)!important;font-weight:700!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dashboard-goal-item {display:grid!important;grid-template-columns:28px 72px minmax(36px,1fr) 48px 32px 124px!important;gap:10px!important;align-items:center;padding:14px 0!important;background:transparent!important;border:0!important;border-top:1px solid #F0F3F1!important;border-radius:0!important;box-shadow:none!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dashboard-goal-icon {grid-column:1;grid-row:1;display:grid;place-items:center;width:28px!important;height:30px!important;background:#F1F4F3!important;border:0!important;box-shadow:inset 0 1px 0 #fff,0 2px 0 #DEE7E1,0 4px 6px -4px #31574344!important;color:var(--zc-sub);border-radius:8px!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dashboard-goal-label {grid-column:2;grid-row:1;font-size:13px!important;font-weight:600!important;color:var(--zc-ink)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dashboard-goal-count {grid-column:4;grid-row:1;justify-self:end;white-space:nowrap;font-size:12px!important;font-weight:600!important;font-variant-numeric:tabular-nums;color:var(--zc-ink)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dashboard-goal-bar {grid-column:3;grid-row:1;width:100%;height:5px!important;border:0!important;box-shadow:none!important;border-radius:4px;background:#E7EFEB!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dashboard-goal-bar i {display:block;height:100%;background:var(--zc-mint-strong)!important;border-radius:4px;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dashboard-goal-item.done .dashboard-goal-bar i {background:var(--zc-purple)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dashboard-goal-state {grid-column:5;grid-row:1;justify-self:center;font-size:10px!important;white-space:nowrap;border-radius:999px;padding:3px 6px!important;background:#E3F7EE!important;color:#0B7A53!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dashboard-goal-item.done .dashboard-goal-state {background:#F1E9FE!important;color:#6A22D6!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dashboard-goal-controls {grid-column:6;grid-row:1;display:grid!important;grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;gap:8px;width:100%;min-width:0;white-space:nowrap;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dashboard-goal-controls button {width:28px!important;height:28px!important;min-height:28px!important;border:0!important;border-radius:8px!important;background:linear-gradient(#F4F7F5,#E7EEEA)!important;color:var(--zc-sub)!important;box-shadow:inset 0 1px 0 #fff,0 2px 0 #D6E1DA,0 4px 6px -4px #31574355!important;font-size:17px!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dashboard-goal-controls span {text-align:center;font-size:11px!important;color:var(--zc-sub)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-week-foot {order:1;display:flex!important;flex-wrap:wrap;align-items:baseline;gap:4px 8px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;font-size:12px!important;color:var(--zc-sub)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-week-foot b {font-size:12px!important;color:var(--zc-text)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-week-foot b:first-of-type {font-size:30px!important;line-height:1.2!important;color:var(--zc-ink)!important;font-weight:700!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-week-foot i:first-of-type {flex-basis:100%;height:0!important;background:transparent!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-week-foot .dz-wk-rate {color:var(--zc-purple-deep)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dashboard-week-card .dz-panel-head {order:0;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-week-chart {order:2;height:190px!important;margin:14px 0 0!important;padding:0!important;border:0!important;border-bottom:1px solid #EEF2F0!important;background:transparent!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-wk-bar-track {width:28px!important;background:transparent!important;border:0!important;border-radius:6px 6px 2px 2px!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-wk-bar {width:100%!important;background:var(--zc-mint-strong)!important;border-radius:6px 6px 2px 2px!important;box-shadow:none!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-wk-bar.today {background:var(--zc-purple)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-wk-val {font-size:12px!important;font-weight:600!important;color:var(--zc-sub)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-wk-label {font-size:12px!important;font-weight:500!important;color:var(--zc-sub)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .zc-shortcuts-title {margin:8px 0 -8px;font-size:18px;font-weight:700;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-links {display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:0!important;border-radius:18px;background:#fff;box-shadow:var(--zc-card-shadow);overflow:hidden;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-link-card {display:flex!important;flex-direction:column;align-items:flex-start!important;gap:16px!important;position:relative;padding:20px 24px!important;background:transparent!important;border:0!important;border-right:1px solid #EEF1EF!important;border-radius:0!important;box-shadow:none!important;transform:none!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-link-card:last-child {border-right:0!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-link-card:hover {background:#FAFCFB!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-link-ico {display:grid;place-items:center;width:36px!important;height:36px!important;border-radius:10px!important;background:#F1F4F3!important;color:var(--zc-text)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-link-text b {font-size:14px!important;font-weight:700!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-link-text small {font-size:12px!important;font-weight:400!important;line-height:1.5!important;color:var(--zc-sub)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-link-arrow {position:absolute;right:18px;top:24px;color:var(--zc-sub)!important;}

/* 학습 화면도 동일한 카드·색상·선택 상태로 연결하되 입력/채점 칸의 구조는 보존한다. */
html body.zc-prototype:not(.village-body):not(.zc-legacy) .room-ladder-card {padding:24px!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .room-ladder-head {padding:0!important;background:transparent!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .room-ladder-head h2 {font-size:16px!important;font-weight:700!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .selected-goal-card {border:0!important;background:#F5F2FB!important;border-radius:12px!important;box-shadow:none!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .selected-goal-summary {background:#F5F2FB!important;border:0!important;border-radius:12px!important;box-shadow:none!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .goal-progress-track {background:#E7EFEB!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .goal-progress-track > span {background:var(--zc-mint-strong)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .recent-history-panel {background:#fff!important;border:0!important;border-radius:18px!important;box-shadow:var(--zc-card-shadow)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .sticky-start-bar {background:linear-gradient(120deg,#3A0C9A,#6A22D6)!important;border:0!important;border-radius:18px!important;box-shadow:0 4px 14px rgba(42,8,112,.18)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .sticky-start-btn.primary {background:linear-gradient(135deg,#8EEEC9,#5EDDAE 55%,#34C995)!important;color:var(--zc-ink)!important;border:0!important;border-radius:11px!important;box-shadow:0 1px 2px rgba(11,107,73,.28)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .sticky-start-btn.secondary {background:#fff!important;color:#3A0C9A!important;border:0!important;border-radius:11px!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .selected-goal-fill {background:var(--zc-mint-strong)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .material-filter-panel {border:0!important;border-radius:12px!important;background:#F7F9F8!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .selected-material-summary-card {background:linear-gradient(120deg,#3A0C9A,#6A22D6)!important;color:#fff;border:0!important;border-radius:18px!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .my-tab-btn.active {background:var(--zc-purple-soft)!important;color:var(--zc-purple-deep)!important;border-color:var(--zc-purple)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .mypage-head-card {background:transparent!important;border:0!important;box-shadow:none!important;padding-inline:0!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .mypage-tabs-bar {background:transparent!important;border:0!important;border-bottom:1px solid #DCE3DF!important;border-radius:0!important;box-shadow:none!important;gap:8px!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .mypage-tabs-bar button {background:transparent!important;color:var(--zc-sub)!important;border:0!important;border-radius:10px 10px 0 0!important;font-weight:600!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .mypage-tabs-bar button.active {background:var(--zc-purple-soft)!important;color:var(--zc-purple-deep)!important;box-shadow:inset 0 -2px var(--zc-purple)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) :is(#my-records,#mrDetail) {--mr-accent:var(--zc-purple);--mr-accent-deep:var(--zc-purple-deep);--mr-accent-soft:var(--zc-purple-soft);--mr-ink:var(--zc-ink);--mr-body:var(--zc-text);--mr-muted:var(--zc-sub);--mr-line:var(--zc-line);}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .today-mission-redesign {--tm-ink:var(--zc-ink);--tm-ink-2:var(--zc-text);--tm-muted:var(--zc-sub);--tm-line:var(--zc-line);--tm-accent:var(--zc-purple);--tm-accent-deep:var(--zc-purple-deep);--tm-accent-soft:var(--zc-purple-soft);--tm-navy:var(--zc-ink);--tm-done:var(--zc-mint-strong);}
html body.zc-prototype:not(.village-body):not(.zc-legacy) :is(.tm-statband,.tm-sec,.tm-candy,.mr-card,.pf-card,.st-stat,.unlock-card,.heatmap-card) {background:#fff!important;border:0!important;border-radius:18px!important;box-shadow:var(--zc-card-shadow)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .tm-band {background:linear-gradient(120deg,#3A0C9A,#6A22D6)!important;border:0!important;border-radius:18px!important;color:#fff!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .tm-band :is(h1,h2,h3,p,.tm-band-lb,.tm-band-pct,.tm-band-pct small) {color:#fff!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .tm-band .tm-btn.is-primary {background:var(--zc-mint)!important;color:var(--zc-ink)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) :is(.tm-btn.is-primary,.pf-btn-v) {background:var(--zc-purple)!important;border:0!important;border-radius:11px!important;color:#fff!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) :is(.ai-room-request-panel,.ai-room-result-list,.ai-room-results-card) {border-color:var(--zc-line)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .mobile-menu-btn {border:1px solid var(--zc-line)!important;background:#fff!important;color:var(--zc-ink)!important;box-shadow:var(--zc-card-shadow)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .login-art {background:linear-gradient(120deg,#3A0C9A,#6A22D6)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .login-title {background:none!important;color:var(--zc-ink)!important;-webkit-text-fill-color:var(--zc-ink)!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) :is(.login-sub,.login-helper-row,.login-helper-link,.app-biz-info) {color:var(--zc-sub)!important;}

@media (min-width:901px) and (max-width:1250px) {
  html body.zc-prototype:not(.village-body):not(.zc-legacy) :is(main.main-content,main.sparta-main,main.unlock-main,main.measure-main) {padding-inline:24px!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-duo {grid-template-columns:1fr!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero-title {font-size:24px!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-stat-card {padding:20px 16px!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-stat-card b {font-size:25px!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-links {grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media (max-width:900px) {
  html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar {transform:translateX(-100%)!important;visibility:hidden!important;transition:transform .2s ease!important;z-index:3000!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) nav.sidebar.active {transform:translateX(0)!important;visibility:visible!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .mobile-menu-btn {display:grid!important;place-items:center;position:fixed;top:14px;left:14px;width:44px;height:44px;border-radius:10px;z-index:2001;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .sidebar-close-btn {display:grid!important;place-items:center;min-width:36px;min-height:36px;margin-left:auto;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy):has(nav.sidebar) :is(main.main-content,main.sparta-main,main.unlock-main,main.measure-main,.admin-content) {margin-left:0!important;width:100%!important;padding:76px 20px 96px!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-duo {grid-template-columns:1fr!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-stat-card {padding:20px 16px!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-stat-card b {font-size:26px!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-links {grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero {padding:28px!important;grid-template-columns:minmax(0,1fr) 160px!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero-mascot {width:180px;height:180px;right:0;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero-mascot img {width:180px!important;height:180px!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero-bubble {top:45px!important;left:0;}
}
@media (max-width:600px) {
  html body.zc-prototype:not(.village-body):not(.zc-legacy):has(nav.sidebar) :is(main.main-content,main.sparta-main,main.unlock-main,main.measure-main) {padding-inline:16px!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dashboard-page.dashboard-executive {gap:16px!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .zc-page-head {align-items:flex-start;flex-wrap:wrap;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .zc-page-head h1 {font-size:24px;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .zc-manual {font-size:12px;padding:8px 10px;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero {display:block!important;min-height:0;padding:24px!important;overflow:hidden!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero-title {font-size:23px!important;padding-right:52px;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero-meta {max-width:240px;gap:8px!important;margin-bottom:22px!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero-accuracy {padding-left:0!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero-accuracy::before {display:none;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero-mascot {right:-10px;top:8px;bottom:auto;width:104px;height:104px;opacity:.9;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero-mascot img {width:104px!important;height:104px!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero-bubble {display:none;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-hero-btn {font-size:12px!important;padding:10px 12px!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-stat-grid {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-stat-card {padding:18px!important;border-bottom:1px solid #EEF1EF!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-stat-card:nth-child(2n) {border-right:0!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-stat-card:nth-last-child(-n+2) {border-bottom:0!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-stat-card b {font-size:26px!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-alerts {grid-template-columns:1fr!important;gap:12px!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-alert-card {flex-wrap:wrap;padding:16px!important;gap:10px!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-alert-main {min-width:170px;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-alert-cta {margin-left:auto;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-panel {padding:18px!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dashboard-goal-item {grid-template-columns:26px minmax(48px,1fr) 72px 46px!important;gap:10px!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dashboard-goal-icon {grid-row:1/3;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dashboard-goal-label {grid-column:2;grid-row:1;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dashboard-goal-count {grid-column:3;grid-row:1;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dashboard-goal-state {grid-column:4;grid-row:1;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dashboard-goal-bar {grid-column:2;grid-row:2;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dashboard-goal-controls {grid-column:3/5;grid-row:2;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-links {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-link-card {padding:18px!important;border-bottom:1px solid #EEF1EF!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .dz-link-card:last-child {grid-column:1/-1;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .portal-notice {flex-wrap:wrap!important;gap:8px!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .portal-notice .notice-preview {flex-basis:calc(100% - 70px);}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) .portal-notice .notice-more-btn {margin-left:auto;}
}
/* 활성화된 주요 실행 버튼: 빛 한 줄이 지나간 후 쉬어 간다. 클릭 영역과 글자는 그대로 둔다. */
html body.zc-prototype .zc-action-shine {position:relative!important;overflow:hidden!important;isolation:isolate;}
html body.zc-prototype .zc-action-shine::before {
  content:"";position:absolute;inset:-80% auto -80% 0;width:44%;height:auto;
  border:0;border-radius:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12) 20%,rgba(255,255,255,.52) 50%,rgba(255,255,255,.12) 80%,transparent);
  transform:translateX(-260%) skewX(-22deg);opacity:0;pointer-events:none;z-index:2;
}
html body.zc-prototype[data-zc-shine-running] .zc-action-shine[data-zc-shine-visible]:not(:disabled):not([disabled]):not([aria-disabled="true"]):not([aria-busy="true"]):not(.disabled):not(.is-disabled):not(.is-locked):not(.is-done):not(.is-complete)::before {
  animation:zc-button-shine 5.4s cubic-bezier(.2,.65,.35,1) infinite;
}
@keyframes zc-button-shine {
  0%,8% {transform:translateX(-260%) skewX(-22deg);opacity:0;}
  10% {opacity:.8;}
  29% {transform:translateX(360%) skewX(-22deg);opacity:.8;}
  31%,100% {transform:translateX(360%) skewX(-22deg);opacity:0;}
}
@media (prefers-reduced-motion:reduce) {
  html body.zc-prototype .zc-action-shine::before {display:none!important;}
  html body.zc-prototype:not(.village-body):not(.zc-legacy) *,html body.zc-prototype:not(.village-body):not(.zc-legacy) *::before,html body.zc-prototype:not(.village-body):not(.zc-legacy) *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}
/* Share intrinsic text/control widths across all five rows, including two-row mobile layout. */
@supports(grid-template-columns:subgrid){
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dashboard-goal-list {display:grid!important;grid-template-columns:28px 72px minmax(36px,1fr) max-content max-content max-content!important;column-gap:10px!important;}
html body.zc-prototype:not(.village-body):not(.zc-legacy) .dashboard-goal-item {grid-column:1/-1!important;grid-template-columns:subgrid!important;}
@media(max-width:600px){html body.zc-prototype:not(.village-body):not(.zc-legacy) .dashboard-goal-list {grid-template-columns:26px minmax(48px,1fr) max-content max-content!important;}}
}
