.hz-dk{
  --dk-sab:env(safe-area-inset-bottom,0px);   
  --dk-hdh:60px;                               
  --dk-bg:rgba(252,250,247,.96); --dk-sheet:rgba(251,249,246,.985);   
  --dk-ink:#4A3F35; --dk-wm:#2C2825; --dk-x:#6E5A42; --dk-mute:#7A7066; --dk-lab:#7B664B;
  --dk-rail:rgba(201,174,131,.5); --dk-seg:#60B5E6; --dk-on:#3A95CC; --dk-hover:#3A95CC; --dk-on-t:#1E6A9C;   
  --dk-gold:#C4A77D; --dk-gold-2:rgba(196,167,125,.5);
  --dk-hair:rgba(44,40,37,.13); --dk-dot:#FFFFFF; --dk-tint:rgba(58,149,204,.08);
  --dk-pulse:rgba(58,149,204,.30); --dk-pulse2:rgba(58,149,204,.09);
  --dk-sh:0 -12px 32px -14px rgba(60,45,30,.24);
  position:fixed; z-index:150; left:0; right:0; bottom:0; margin:0; padding:0; border:0;
  transform:translateY(calc(100% + 4px)); transition:transform .45s cubic-bezier(.19,1,.22,1);
  font-family:'Pretendard',-apple-system,BlinkMacSystemFont,sans-serif;   
  -webkit-font-smoothing:antialiased; font-size:16px; font-weight:400; font-style:normal; line-height:1.2; letter-spacing:0; text-transform:none; text-align:left; word-break:keep-all; color:var(--dk-ink);
}
.hz-dk--dark{
  --dk-bg:rgba(28,25,23,.95); --dk-sheet:rgba(33,29,26,.985);
  --dk-ink:#D9CFBC; --dk-wm:#F5EFE6; --dk-x:#A69177; --dk-mute:#8F8578; --dk-lab:#C4A77D;
  --dk-rail:rgba(201,174,131,.42); --dk-on:#60B5E6; --dk-hover:#93C5FD; --dk-on-t:#60B5E6;   
  --dk-hair:rgba(252,250,247,.12); --dk-dot:#FDFCFB; --dk-tint:rgba(96,181,230,.10);
  --dk-pulse:rgba(96,181,230,.30); --dk-pulse2:rgba(96,181,230,.08);
  --dk-sh:0 -14px 34px -14px rgba(0,0,0,.7);
}
.hz-dk[hidden]{ display:none !important; }   
.hz-dk.is-on{ transform:none; }
.hz-dk.is-drawer{ visibility:hidden !important; transition:none !important; }   
.hz-dk, .hz-dk *, .hz-dk *::before, .hz-dk *::after{ box-sizing:border-box; }
.hz-dk :is(div,p,span,ol,ul,li,nav,small,b,i,em){ margin:0; padding:0; border:0; list-style:none; font:inherit; color:inherit; letter-spacing:inherit; text-transform:none; text-align:inherit; }   
.hz-dk :is(a,button){ font:inherit; color:inherit; background:none; border:0; border-radius:0; margin:0; padding:0; cursor:pointer; text-decoration:none; text-transform:none; letter-spacing:inherit; box-shadow:none; -webkit-tap-highlight-color:transparent; }
.hz-dk :is(a,button):focus{ outline:none; }
.hz-dk :is(a,button):focus-visible{ outline:2px solid var(--dk-on); outline-offset:2px; }   
.hz-dk svg{ display:block; flex:none; }
.hz-dk [hidden]{ display:none !important; }
.hz-dk .hz-dk-ic{ width:16px; height:16px; }


.hz-dk .hz-dk-line{ position:relative; display:block; height:3px; background:var(--dk-rail); }
.hz-dk .hz-dk-fill{ position:absolute; left:0; top:0; bottom:0; display:block; width:100%; background:var(--dk-seg); transform-origin:0 50%; transform:scaleX(var(--dk-p,0)); }
.hz-dk .hz-dk-tick{ position:absolute; top:-3px; display:block; width:1px; height:9px; margin-left:-.5px; background:var(--dk-gold); opacity:.85; }
.hz-dk .hz-dk-tick.is-past{ background:var(--dk-seg); opacity:1; }


.hz-dk .hz-dk-stone{ position:relative; display:inline-block; flex:none; width:8px; height:8px; }
.hz-dk .hz-dk-stone::before{ content:''; position:absolute; left:50%; top:50%; width:22px; height:22px; margin:-11px 0 0 -11px; border-radius:50%; background:var(--dk-pulse); pointer-events:none; transform:scale(.636); animation:hzDkHalo 2.4s ease-in-out infinite; }
.hz-dk .hz-dk-stone::after{ content:''; position:absolute; inset:0; border-radius:50%; background:var(--dk-on); }
@keyframes hzDkHalo{ 0%,100%{ transform:scale(.636); opacity:1; } 50%{ transform:scale(1); opacity:.3; } }   
@keyframes hzDkPulse{ 0%,100%{ box-shadow:0 0 0 3px var(--dk-pulse); } 50%{ box-shadow:0 0 0 7px var(--dk-pulse2); } }


.hz-dk .hz-dk-bar{ position:relative; z-index:2; display:block; background:var(--dk-bg); box-shadow:var(--dk-sh); padding-bottom:var(--dk-sab); }
.hz-dk .hz-dk-in{ max-width:760px; margin:0 auto; padding:0 18px; }
.hz-dk .hz-dk-r1{ display:flex; align-items:center; justify-content:center; gap:10px; height:52px; }
.hz-dk .hz-dk-r2{ display:flex; align-items:center; justify-content:center; gap:8px; height:42px; border-top:1px solid var(--dk-hair); }
.hz-dk .hz-dk-chip{ display:inline-flex; align-items:center; gap:9px; flex:0 1 auto; min-width:0; max-width:100%; height:38px; padding:0 14px 0 12px; border:1px solid var(--dk-hair); border-radius:0; color:var(--dk-ink); transition:border-color .15s ease, background-color .15s ease; }
.hz-dk .hz-dk-chip:hover, .hz-dk .hz-dk-chip[aria-expanded="true"]{ border-color:var(--dk-on); background:var(--dk-tint); }
.hz-dk .hz-dk-chip[aria-expanded="true"]{ box-shadow:inset 0 0 0 1px var(--dk-on); }   
.hz-dk .hz-dk-chip .hz-dk-ic{ color:var(--dk-on); }
.hz-dk .hz-dk-chip--sched{ flex:none; }   
.hz-dk .hz-dk-chip .s{ display:none; }
.hz-dk .hz-dk-chip-k{ flex:none; font-size:13px; font-weight:700; letter-spacing:.06em; color:var(--dk-x); white-space:nowrap; }   
.hz-dk .hz-dk-chip-n{ display:inline-block; min-width:1.32em; text-align:right; font-family:'Cinzel','Pretendard',serif; font-size:18px; font-weight:700; letter-spacing:0; color:var(--dk-on); line-height:1; }   
.hz-dk .hz-dk-chip-no{ flex:none; display:inline-flex; align-items:baseline; white-space:nowrap; }   
.hz-dk .hz-dk-chip-of{ font-family:'Cinzel','Pretendard',serif; font-size:12.5px; font-weight:600; color:var(--dk-x); margin-left:2px; line-height:1; }
.hz-dk.is-unnum .hz-dk-chip-no, .hz-dk.is-unnum .hz-dk-cnt{ display:none; }   
.hz-dk .hz-dk-chip-t{ min-width:0; font-size:14.5px; font-weight:700; color:var(--dk-wm); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hz-dk .hz-dk-chip-c{ width:10px; height:6px; color:var(--dk-on); transform:rotate(180deg); transition:transform .2s ease; }
.hz-dk .hz-dk-chip[aria-expanded="true"] .hz-dk-chip-c{ transform:none; }


.hz-dk .hz-dk-links{ display:flex; align-items:center; gap:2px; }
.hz-dk .hz-dk-lk{ display:inline-flex; align-items:center; gap:6px; min-height:36px; padding:0 9px; border-radius:0; font-size:13px; font-weight:600; letter-spacing:.01em; color:var(--dk-ink); white-space:nowrap; transition:color .15s ease, background-color .15s ease; }
.hz-dk .hz-dk-lk:hover{ color:var(--dk-hover); background:var(--dk-tint); }
.hz-dk .hz-dk-sep{ display:block; width:4px; height:4px; border-radius:0; transform:rotate(45deg); background:var(--dk-gold); opacity:.6; flex:none; }   


.hz-dk .hz-dk-sheet{ position:absolute; z-index:1; left:50%; bottom:calc(100% - 1px); width:min(760px, 100%); max-height:min(66vh, var(--dk-avail, 66vh)); display:flex; flex-direction:column; transform:translateX(-50%);
  background:var(--dk-sheet); color:var(--dk-ink); box-shadow:var(--dk-sh); border:1px solid var(--dk-hair); border-bottom:0; border-radius:0; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
.hz-dk .hz-dk-sheet:not([hidden]){ animation:hzDkUpX .26s cubic-bezier(.19,1,.22,1); }
@keyframes hzDkUpX{ from{ opacity:0; transform:translate(-50%,10px); } to{ opacity:1; transform:translate(-50%,0); } }
.hz-dk .hz-dk-scroll{ flex:1 1 auto; min-height:0; overflow:auto; overscroll-behavior:contain; }

.hz-dk .hz-dk-sh{ display:flex; align-items:center; gap:12px; padding:14px 14px 10px 22px; }
.hz-dk .hz-dk-lab{ font-family:'Pretendard',sans-serif; font-size:12px; font-weight:700; letter-spacing:.32em; color:var(--dk-x); white-space:nowrap; }
.hz-dk .hz-dk-rule{ flex:1; position:relative; display:block; height:0; border-top:2px solid var(--dk-gold); opacity:.9; }
.hz-dk .hz-dk-rule::after{ content:''; position:absolute; left:0; right:0; top:2px; border-top:1px solid var(--dk-gold-2); }
.hz-dk .hz-dk-cnt{ font-family:'Cinzel','Pretendard',serif; font-size:14px; font-weight:600; letter-spacing:.02em; color:var(--dk-x); white-space:nowrap; }
.hz-dk .hz-dk-cnt b{ color:var(--dk-on-t); font-weight:700; }
.hz-dk .hz-dk-x{ display:flex; align-items:center; justify-content:center; flex:none; width:40px; height:40px; margin:-6px -4px -6px 0; border-radius:0; color:var(--dk-on); transition:color .15s ease, background-color .15s ease; }
.hz-dk .hz-dk-x:hover{ color:var(--dk-hover); background:var(--dk-tint); }


.hz-dk .hz-dk-toc{ columns:2; column-gap:18px; margin:0; padding:0 14px 14px; list-style:none; }
.hz-dk .hz-dk-ti{ break-inside:avoid; margin:0; padding:0; }
.hz-dk .hz-dk-tb{ position:relative; display:flex; align-items:center; gap:12px; width:100%; min-height:44px; padding:0 10px 0 12px; border-radius:0; text-align:left; transition:background-color .15s ease, color .15s ease; }
.hz-dk .hz-dk-tb:hover{ background:var(--dk-tint); }
.hz-dk .hz-dk-tb:hover .hz-dk-tt{ color:var(--dk-hover); }
.hz-dk .hz-dk-tn{ flex:0 0 24px; text-align:right; font-family:'Cinzel','Pretendard',serif; font-size:15px; font-weight:600; letter-spacing:0; color:var(--dk-lab); }   
.hz-dk .hz-dk-tt{ flex:0 1 auto; min-width:0; font-size:15px; font-weight:600; letter-spacing:-.005em; line-height:1.25; color:var(--dk-ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; transition:color .15s ease; }
.hz-dk .hz-dk-tl{ flex:1 1 18px; min-width:14px; height:0; border-bottom:2px dotted var(--dk-gold-2); transform:translateY(3px); }
.hz-dk .hz-dk-tm{ flex:0 0 12px; display:flex; align-items:center; justify-content:center; }
.hz-dk .hz-dk-tm::before{ content:''; display:block; width:7px; height:7px; border-radius:50%; border:1.5px solid var(--dk-gold); background:transparent; }
.hz-dk .hz-dk-ti.is-past .hz-dk-tt{ color:var(--dk-mute); }
.hz-dk .hz-dk-ti.is-past .hz-dk-tm::before{ width:6px; height:6px; border:0; background:var(--dk-seg); }
.hz-dk .hz-dk-ti.is-cur .hz-dk-tt{ color:var(--dk-on-t); font-weight:700; }
.hz-dk .hz-dk-ti.is-cur .hz-dk-tn{ color:var(--dk-on-t); }
.hz-dk .hz-dk-ti.is-cur .hz-dk-tm::before{ width:8px; height:8px; border:0; background:var(--dk-on); animation:hzDkPulse 2.4s ease-in-out infinite; }

.hz-dk .hz-dk-subs{ display:flex; flex-wrap:wrap; gap:2px 4px; margin:-4px 0 6px 48px; padding:0; }
.hz-dk .hz-dk-sb{ min-height:30px; padding:0 8px; border-radius:0; font-size:12.5px; font-weight:600; letter-spacing:.01em; color:var(--dk-x); transition:color .15s ease, background-color .15s ease; }
.hz-dk .hz-dk-sb:hover{ color:var(--dk-hover); background:var(--dk-tint); }
.hz-dk .hz-dk-sb.is-cur{ color:var(--dk-on-t); background:var(--dk-tint); }
.hz-dk .hz-dk-sb.is-past{ color:var(--dk-mute); }


.hz-dk .hz-dk-cal{ padding:2px 18px 14px 22px; }
.hz-dk .hz-dk-cnote{ display:flex; align-items:center; gap:6px; margin:0 0 10px; font-size:12px; font-weight:500; color:var(--dk-x); }
.hz-dk .hz-dk-cp{ display:block; margin:0 0 12px; }
.hz-dk .hz-dk-ch{ display:flex; align-items:baseline; gap:8px; margin:0 0 4px; font-size:12.5px; font-weight:700; letter-spacing:.06em; color:var(--dk-x); }
.hz-dk .hz-dk-cdom{ font-size:11.5px; font-weight:500; letter-spacing:.02em; color:var(--dk-on-t); }   
.hz-dk .hz-dk-cdom:hover{ color:var(--dk-hover); opacity:1; }
.hz-dk .hz-dk-c0{ margin:0; padding:6px 0 2px; font-size:13px; color:var(--dk-mute); }
.hz-dk .list-view-google-calendar_item_month{ margin:10px 0 4px; padding-left:8px; border-left:3px solid var(--dk-gold); font-size:13px; font-weight:700; line-height:1; color:var(--dk-x); }
.hz-dk .hz-cal-row{ display:flex; align-items:center; gap:10px; min-height:38px; padding:4px 0; border-bottom:1px solid var(--dk-hair); }
.hz-dk .hz-cal-row:last-child{ border-bottom:0; }
.hz-dk .hz-cal-date{ flex:none; display:inline-flex; align-items:center; justify-content:center; min-width:52px; height:26px; padding:0 8px; border-radius:0; background:var(--dk-tint); color:var(--dk-on-t); font-family:'Cinzel','Pretendard',serif; font-size:14px; font-weight:600; letter-spacing:.02em; white-space:nowrap; transition:color .15s ease; }
.hz-dk .hz-cal-row a:not(.hz-cal-date){ min-width:0; font-size:14.5px; font-weight:600; line-height:1.35; color:var(--dk-ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; transition:color .15s ease; }
.hz-dk .hz-cal-row:hover .hz-cal-date, .hz-dk .hz-cal-row a:hover{ color:var(--dk-hover); }
.hz-dk .hz-dk-empty{ display:flex; align-items:center; gap:14px; padding:16px; border:1px dashed var(--dk-gold-2); border-radius:0; }
.hz-dk .hz-dk-empty-ic{ flex:none; display:flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:0; border:1.5px solid var(--dk-gold); color:var(--dk-x); }
.hz-dk .hz-dk-empty-t{ margin:0; font-size:14.5px; font-weight:600; color:var(--dk-ink); }
.hz-dk .hz-dk-empty-s{ margin:3px 0 0; font-size:11.5px; font-weight:600; letter-spacing:.14em; color:var(--dk-x); }

.hz-dk .hz-dk-sheet.is-sched{ left:var(--dk-mx, 50%); bottom:var(--dk-mb, calc(100% + 14px)); width:min(420px, calc(100vw - 24px)); max-height:min(60vh, var(--dk-avail, 60vh));
  background:#FDFCFB; color:#2C2825; border:1px solid rgba(229,222,213,.8); border-radius:0; overflow:hidden; box-shadow:0 20px 50px -10px rgba(44,40,37,.14), 0 2px 8px rgba(44,40,37,.05); transform-origin:50% 100%; }
.hz-dk .hz-dk-sheet.is-sched:not([hidden]){ animation:hzDkPop .3s cubic-bezier(.16,1,.3,1); }
@keyframes hzDkPop{ from{ opacity:0; transform:translate(-50%,10px) scale(.95); } to{ opacity:1; transform:translate(-50%,0) scale(1); } }
.hz-dk .is-sched .hz-dk-sh{ gap:8px; padding:15px 12px 11px 20px; border-bottom:1px solid rgba(229,222,213,.6); background:rgba(253,252,251,.96); }
.hz-dk .is-sched .hz-dk-sh-ic{ display:flex; flex:none; color:#C4A77D; }   
.hz-dk .is-sched .hz-dk-lab{ flex:1; font-family:'Pretendard',sans-serif; font-size:15.5px; font-weight:700; letter-spacing:0; color:#2C2825; }
.hz-dk .is-sched .hz-dk-x{ width:34px; height:34px; margin:-4px -2px -4px 0; color:#3A95CC; }   
.hz-dk .is-sched .hz-dk-x:hover{ color:#2B7BA8; background:rgba(58,149,204,.10); }
.hz-dk .is-sched .hz-dk-cal{ padding:14px 20px 20px; }
.hz-dk .is-sched .hz-dk-cnote{ justify-content:center; margin:0 0 14px; padding:8px 12px; border-radius:0; background:#F5EDDF; font-size:12.5px; color:#6E5A42; text-align:center; }
.hz-dk .is-sched .hz-dk-cp{ margin:0; padding:22px 0 0; border-top:1px solid rgba(229,222,213,.6); }
.hz-dk .is-sched .hz-dk-cnote + .hz-dk-cp{ padding-top:4px; border-top:0; }
.hz-dk .is-sched .hz-dk-cp + .hz-dk-cp{ margin-top:22px; }
.hz-dk .is-sched .hz-dk-ch{ align-items:center; gap:8px; margin:0 0 12px; font-size:14.5px; font-weight:600; letter-spacing:0; color:#2C2825; }
.hz-dk .is-sched .hz-dk-ch::before{ content:''; flex:none; width:3px; height:16px; border-radius:0; background:#C4A77D; }
.hz-dk .is-sched .hz-dk-cdom{ font-size:12px; font-weight:400; color:#1E6A9C; }   
.hz-dk .is-sched .hz-dk-cdom:hover{ color:#3A95CC; }
.hz-dk .is-sched .list-view-google-calendar_item_month{ margin:16px 0 8px; font-size:14px; color:#7B664B; border-left-color:#C4A77D; }
.hz-dk .is-sched .hz-cal-row{ gap:12px; min-height:0; padding:8px 0; border-bottom-color:rgba(229,222,213,.5); }
.hz-dk .is-sched .hz-cal-date{ height:auto; min-width:48px; padding:4px 8px; border:1px solid #E5DED5; border-radius:0; background:rgba(96,181,230,.10); color:#1E6A9C; font-size:13px; font-weight:600; }
.hz-dk .is-sched .hz-cal-row a:not(.hz-cal-date){ font-size:14px; font-weight:500; color:#6B6560; white-space:normal; }
.hz-dk .is-sched .hz-cal-row:hover .hz-cal-date{ border-color:#60B5E6; color:#1E6A9C; }
.hz-dk .is-sched .hz-cal-row a:not(.hz-cal-date):hover{ color:#3A95CC; }
.hz-dk .is-sched .hz-dk-c0{ font-size:13px; color:#7A7066; }
.hz-dk .is-sched .hz-dk-cal > .hz-dk-c0{ padding:36px 0; text-align:center; }   
.hz-dk .is-sched .hz-dk-cp > .hz-dk-c0{ padding:0 0 2px 11px; text-align:left; }   
.hz-dk .is-sched .hz-dk-empty{ flex-direction:column; justify-content:center; gap:10px; min-height:200px; padding:20px 16px; border:0; text-align:center; }
.hz-dk .is-sched .hz-dk-empty-ic{ border-color:#C4A77D; color:#C4A77D; }
.hz-dk .is-sched .hz-dk-empty-t{ color:#2C2825; }
.hz-dk .is-sched .hz-dk-empty-s{ color:#7A7066; }
@media (max-width:640px){
  .hz-dk .hz-dk-sheet.is-sched{ width:92vw; border-radius:0; }
  .hz-dk .is-sched .hz-dk-sh{ padding:13px 10px 9px 16px; }
  .hz-dk .is-sched .hz-dk-lab{ font-size:14.5px; }
  .hz-dk .is-sched .hz-dk-cal{ padding:12px 16px 16px; }
  .hz-dk .is-sched .hz-cal-date{ min-width:42px; padding:3px 6px; font-size:12.5px; }
  .hz-dk .is-sched .hz-cal-row a:not(.hz-cal-date){ font-size:13px; }
}
.hz-dk-spacer{ display:block; width:100%; height:0; margin:0; padding:0; border:0; pointer-events:none; }   


@media (max-width:639px){
  .hz-dk .hz-dk-toc{ columns:1; padding:0 6px 10px; }
  .hz-dk .hz-dk-in{ padding:0 12px; }
  .hz-dk .hz-dk-sheet{ width:100%; }
  .hz-dk .hz-dk-sh{ padding:12px 10px 8px 16px; }
  .hz-dk .hz-dk-cal{ padding:2px 12px 12px 16px; }
  .hz-dk .hz-dk-r2 .hz-dk-lk{ padding:0 7px; font-size:12.5px; }
  .hz-dk .hz-dk-r1{ gap:8px; }
  .hz-dk .hz-dk-chip{ gap:7px; padding:0 11px 0 10px; }
  .hz-dk.is-toc .hz-dk-chip--sched .l{ display:none; }   
  .hz-dk.is-toc .hz-dk-chip--sched .s{ display:inline; }
}

@media (max-height:520px){
  .hz-dk .hz-dk-sheet{ max-height:var(--dk-avail, 60vh); }
  .hz-dk .hz-dk-toc{ columns:2; column-gap:8px; }
  .hz-dk .hz-dk-r1{ height:46px; }
  .hz-dk .hz-dk-r2{ height:38px; }
}

@media (prefers-reduced-motion:reduce){
  .hz-dk, .hz-dk *{ transition:none !important; animation:none !important; }
  .hz-dk *::before, .hz-dk *::after{ animation:none !important; }   
  .hz-dk .hz-dk-stone::before{ transform:scale(.727); opacity:.3; }   
  .hz-dk .hz-dk-ti.is-cur .hz-dk-tm::before{ box-shadow:0 0 0 4px var(--dk-pulse2); }
}

@media print{ .hz-dk, .hz-dk-spacer{ display:none !important; } }

.hz-dk .hz-cal-sub{ display:block; margin-top:2px; font-size:12px; font-weight:400; line-height:1.35; color:var(--dk-mute); white-space:normal; }
.hz-dk .is-sched .hz-cal-sub{ color:#8A8078; }
.hz-dk .hz-cal-row a:not([href]){ cursor:default; }
.hz-dk .is-sched .hz-cal-row a:not([href]):not(.hz-cal-date):hover{ color:#6B6560; }