/* 행운 캘린더 (2026-09-17 대표 확정 E안) — 색은 부적(사물) 그림에서 뽑은 셋:
   청자(좋은 날·가장 좋은 날은 한 톤 진하게) · 살구(조심, 눈에 띄게) · 산호(오늘·공휴일·✦·단추). 손 없는 날은 노란 점.
   제목·날짜·숫자는 고운바탕, 본문은 노토 산스. 바탕은 부적 종이색, 카드는 한 톤만 밝게 — 흰 종이는 안 쓴다. */
.lc-main { --lc-p:#FDF3E1; --lc-card:#FFFCF5; --lc-ink:#3B2F28; --lc-ink2:#7A6656; --lc-line:rgba(120,90,60,.13);
  --lc-cel:#D9E8DA; --lc-cel2:#B4D2BB; --lc-green:#3F6B50; --lc-sand:#F2C9B3; --lc-brick:#9E4B32; --lc-coral:#C9503B; --lc-gold:#D9A441;
  --lc-serif:"Gowun Batang","Noto Serif KR",serif; }
.lc-stack { gap: 14px; }
.lc-eyebrow { margin: 0 0 6px; font-size: 12px; letter-spacing: .14em; color: var(--lc-coral); font-weight: 700; }
/* 머리 */
.lc-head { position: relative; overflow: hidden; min-height: 176px; padding: 26px 42% 22px 22px; border-radius: 22px;
  background: linear-gradient(100deg, var(--lc-p) 0%, var(--lc-p) 45%, #EEF2E7 100%); border: 1px solid var(--lc-line); }
.lc-head-art { position: absolute; right: 10px; bottom: 6px; width: 170px; height: auto; filter: drop-shadow(0 6px 10px rgba(120,90,60,.16)); pointer-events: none; }
.lc-head h1 { margin: 0; font: 700 32px/1.15 var(--lc-serif); letter-spacing: -.02em; color: var(--lc-ink); }
.lc-lead { margin: 10px 0 0; font-size: 14.5px; line-height: 1.75; color: var(--lc-ink2); }
.lc-owner { margin-top: 14px; }
.lc-owner .daily-owner { display: inline-grid; gap: 2px; padding: 8px 12px; border-radius: 14px; background: rgba(255,255,255,.7); border: 1px solid var(--lc-line); }
.lc-owner .daily-owner-name { margin: 0; font-size: 13.5px; font-weight: 700; color: var(--lc-ink); }
.lc-owner .daily-owner-born { margin: 0; font-size: 12.5px; color: var(--lc-ink2); }
.lc-owner .daily-owner-change { margin-left: 8px; padding: 2px 9px; border-radius: 999px; background: #fff; color: var(--lc-coral); font-weight: 700; font-size: 12px; text-decoration: none; border: 1px solid var(--lc-line); }
.lc-birth { position: relative; z-index: 1; margin-top: 14px; }
.lc-head:has(.lc-birth:not([hidden])) { padding-right: 22px; }
.lc-head:has(.lc-birth:not([hidden])) .lc-head-art { width: 120px; top: 8px; bottom: auto; opacity: .55; }
.lc-draw { position: relative; z-index: 1; margin-top: 12px; }
.lc-draw[hidden], .lc-birth[hidden], .lc-owner[hidden], .lc-body[hidden] { display: none; }
/* 이달의 셋 */
.lc-hl { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; }
.lc-hl-card { display: grid; gap: 3px; padding: 13px 12px 12px; border-radius: 16px; text-align: left; color: var(--lc-ink); background: var(--lc-card); border: 1px solid var(--lc-line); font-family: inherit; cursor: pointer; }
.lc-hl-card:disabled { cursor: default; }
.lc-hl-card small { font-size: 11.5px; color: var(--lc-ink2); letter-spacing: .02em; }
.lc-hl-card b { font: 700 20px/1.1 var(--lc-serif); white-space: nowrap; letter-spacing: -.01em; }
.lc-hl-card b i { font-style: normal; font-size: 12px; font-family: "Noto Sans KR", sans-serif; font-weight: 500; color: var(--lc-ink2); margin-left: 4px; }
.lc-hl-card em { font-style: normal; font-size: 12px; color: var(--lc-green); font-weight: 700; }
.lc-hl-card.is-bujeok em { color: var(--lc-coral); }
.lc-hl-card.is-care em { color: var(--lc-brick); }
.lc-hl-card.is-care:not(:disabled) { background: linear-gradient(180deg, var(--lc-card), #F9E6DA); }
/* 달력 */
.lc-cal { padding: 18px 14px 16px; border-radius: 22px; background: var(--lc-card); border: 1px solid var(--lc-line); }
.lc-nav { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.lc-nav h2 { margin: 0; text-align: center; font: 700 24px/1.15 var(--lc-serif); letter-spacing: -.01em; color: var(--lc-ink); }
.lc-nav h2 small { display: block; margin-top: 4px; font: 500 12.5px/1.3 "Noto Sans KR", sans-serif; color: var(--lc-ink2); }
.lc-nav-btn { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--lc-line); background: #fff; color: var(--lc-ink2); font-size: 18px; cursor: pointer; }
.lc-nav-btn:disabled { opacity: .3; cursor: default; }
.lc-grid { display: grid; grid-template-columns: repeat(7, minmax(0,1fr)); gap: 5px; }
.lc-w { text-align: center; font-size: 11.5px; font-weight: 700; color: var(--lc-ink2); padding: 2px 0 6px; letter-spacing: .04em; }
.lc-w.su { color: var(--lc-coral); }
.lc-c { position: relative; display: grid; justify-items: center; align-content: start; gap: 3px; min-height: 56px; padding: 7px 2px 5px; border: 0; border-radius: 12px; background: #F7EFE2; font-family: inherit; cursor: pointer; }
.lc-c.is-blank { visibility: hidden; }
.lc-c .n { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; font: 700 14.5px/1 var(--lc-serif); color: var(--lc-ink); font-variant-numeric: tabular-nums; }
.lc-c.su .n, .lc-c.is-holi .n { color: var(--lc-coral); }
.lc-c.is-past { opacity: .35; }
.lc-c.is-good { background: var(--lc-cel); } .lc-c.is-good .n { color: var(--lc-green); }
.lc-c.is-care { background: var(--lc-sand); } .lc-c.is-care .n { color: var(--lc-brick); }
.lc-c.is-best { background: var(--lc-cel2); } .lc-c.is-best .n { background: var(--lc-green); color: #fff; }
.lc-c.is-caution { background: #EDB9A0; } .lc-c.is-caution .n { background: var(--lc-brick); color: #fff; }
.lc-c.is-today .n { background: var(--lc-coral); color: #fff; }
.lc-c.is-selected { box-shadow: inset 0 0 0 2px var(--lc-ink); }
.lc-c .t { font-size: 9.5px; line-height: 1; font-weight: 700; color: var(--lc-coral); white-space: nowrap; }
.lc-c .t.star { font-size: 11px; } .lc-c .t.warn { color: var(--lc-brick); }
.lc-c .t.son { width: 6px; height: 6px; border-radius: 50%; background: var(--lc-gold); }
.lc-c:focus-visible { outline: 2px solid var(--lc-coral); outline-offset: 1px; }
.lc-legend { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px 14px; margin: 14px 0 0; padding: 0; list-style: none; font-size: 12px; color: var(--lc-ink2); }
.lc-legend li { display: flex; align-items: center; gap: 5px; }
.lc-legend i { width: 12px; height: 12px; border-radius: 4px; display: inline-grid; place-items: center; font-style: normal; font-size: 10px; font-weight: 700; }
.lc-legend .lg-good { background: var(--lc-cel); } .lc-legend .lg-best { background: var(--lc-cel2); } .lc-legend .lg-care { background: var(--lc-sand); }
.lc-legend .lg-star { color: var(--lc-coral); } .lc-legend .lg-son { width: 6px; height: 6px; border-radius: 50%; background: var(--lc-gold); } .lc-legend .lg-holi { color: var(--lc-coral); width: auto; }
/* 고른 날 */
.lc-day { padding: 22px 20px 20px; border-radius: 22px; background: var(--lc-card); border: 1px solid var(--lc-line); display: grid; gap: 12px; }
.lc-day h3, .lc-sheet-card h3 { margin: 0; font: 700 26px/1.15 var(--lc-serif); letter-spacing: -.02em; color: var(--lc-ink); }
.lc-sub { margin: -6px 0 0; font-size: 13px; color: var(--lc-ink2); }
.lc-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.lc-tags span { padding: 5px 11px; border-radius: 999px; font-size: 12.5px; font-weight: 700; background: #F4EBDD; color: var(--lc-ink); }
.lc-tags .is-good { background: var(--lc-cel); color: var(--lc-green); }
.lc-tags .is-care { background: var(--lc-sand); color: var(--lc-brick); }
.lc-tags .is-bujeok { background: #F8E1DA; color: var(--lc-coral); }
.lc-tags .is-soft { font-weight: 500; color: var(--lc-ink2); }
.lc-lines { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; font-size: 15px; line-height: 1.7; color: #4E4238; }
.lc-lines li { padding-left: 14px; position: relative; }
.lc-lines li::before { content: ""; position: absolute; left: 0; top: .8em; width: 5px; height: 5px; border-radius: 50%; background: var(--lc-cel2); }
.lc-care-line { margin: 0; padding: 10px 12px; border-radius: 12px; background: #F9E6DA; font-size: 14px; line-height: 1.65; color: var(--lc-brick); }
.lc-fit-label { font-size: 12px; letter-spacing: .06em; color: var(--lc-ink2); margin: 0; }
.lc-fits { display: flex; flex-wrap: wrap; gap: 6px; }
.lc-fits span { padding: 5px 11px; border-radius: 999px; font-size: 12.5px; border: 1px solid var(--lc-line); color: var(--lc-ink2); }
.lc-fits span.on { background: var(--lc-cel); border-color: var(--lc-cel); color: var(--lc-green); font-weight: 700; }
.lc-fits span.on::before { content: "✓ "; }
.lc-acts { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 2px; }
.lc-acts:empty { display: none; }
.lc-btn { flex: 1 1 auto; text-align: center; padding: 13px 16px; border-radius: 999px; font: 700 14.5px/1.2 "Noto Sans KR", sans-serif; text-decoration: none; cursor: pointer; }
.lc-btn.fill { border: 0; background: var(--lc-coral); color: #fff; } .lc-btn.fill b { color: #FFE7A3; }
.lc-btn.fill.is-off { background: #E4DCD0; color: var(--lc-ink2); cursor: default; }
.lc-btn.line { border: 1.5px solid var(--lc-coral); color: var(--lc-coral); background: transparent; }
.lc-free-note { margin: -4px 0 0; font-size: 12px; color: var(--lc-ink2); text-align: center; }
/* 문 넷 */
.lc-doors { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.lc-door { position: relative; display: grid; gap: 2px; align-content: end; min-height: 112px; padding: 14px; border-radius: 18px; text-decoration: none; color: var(--lc-ink); background: var(--lc-card); border: 1px solid var(--lc-line); overflow: hidden; }
.lc-door img { position: absolute; right: 8px; top: 8px; width: 54px; height: 54px; object-fit: contain; }
.lc-door b { font: 700 15px/1.3 var(--lc-serif); } .lc-door small { font-size: 12px; color: var(--lc-ink2); line-height: 1.45; }
.lc-door.is-soon { opacity: .75; }
.lc-door .soon { position: absolute; left: 12px; top: 12px; font-size: 10.5px; font-weight: 700; padding: 2px 8px; border-radius: 999px; background: #F8E1DA; color: var(--lc-coral); }
/* 자세히 보기 시트 */
.lc-sheet { position: fixed; inset: 0; z-index: 60; background: rgba(59,47,40,.45); display: grid; align-items: end; }
.lc-sheet-card { background: #FFFCF5; border-radius: 24px 24px 0 0; padding: 14px 20px calc(28px + env(safe-area-inset-bottom, 0px)); display: grid; gap: 12px; max-height: 92vh; overflow: auto; }
.lc-sheet-card .grip { width: 40px; height: 4px; border-radius: 2px; background: #E4DCD0; margin: 0 auto 4px; }
.lc-sheet-card h4 { margin: 8px 0 0; font-size: 12px; letter-spacing: .12em; color: #C9503B; }
.lc-para { margin: 0; font-size: 14.5px; line-height: 1.8; color: #4E4238; }
.lc-why { display: grid; gap: 8px; }
.lc-why div { display: grid; grid-template-columns: 26px 1fr; gap: 10px; align-items: start; padding: 10px 12px; border-radius: 12px; background: #F7EFE2; font-size: 14px; line-height: 1.65; color: #4E4238; }
.lc-why div i { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #D9E8DA; color: #3F6B50; font: 700 12px/1 "Gowun Batang", serif; font-style: normal; }
.lc-why div b { display: block; color: #3B2F28; }
.lc-sheet-close { margin-top: 4px; padding: 12px; border-radius: 999px; border: 1px solid rgba(120,90,60,.13); background: #fff; font: 700 14px/1.2 "Noto Sans KR", sans-serif; color: #7A6656; cursor: pointer; }
@media (prefers-reduced-motion: no-preference) { .lc-c { transition: box-shadow .12s; } }
