html.op-pre .stage>*:not(.op){visibility:hidden!important}html.op-pre .stage{background:#050407!important}html.op-pre .op{display:block}html.op-pre body>.pcNav,html.op-pre body>.pcSide{visibility:hidden}/* ===== 10/3 21:00 시안: 악역은 홈에 크게 두지 않음 ===== */
/* A. 오늘 밤 손님: 오늘의 운세 아래 얇은 한 줄. 수호신이 귀띔하는 말투, 악역 얼굴은 작은 동그라미 속 그림자 */
.home .ngtS{padding:4px 16px 2px}
.home .ngt{position:relative;display:flex;align-items:center;gap:13px;padding:11px 14px 11px 11px;text-decoration:none;color:#f3ecdf;background:linear-gradient(90deg,rgba(var(--nr),.20) 0%,rgba(20,16,22,.6) 46%,rgba(20,16,22,.6) 100%);box-shadow:inset 0 0 0 1px rgba(var(--nr),.32)}
.home .ngt .pic{position:relative;flex:none;width:52px;height:52px;border-radius:50%!important;overflow:hidden;box-shadow:0 0 0 1.5px rgba(10,8,12,.9),0 0 0 2.5px rgba(var(--nr),.7)}
.home .ngt .pic i,.home .ngt .pic video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#111 center 22%/cover no-repeat;filter:saturate(.7) brightness(.8);border-radius:50%!important}
.home .ngt .pic video{opacity:0;transition:opacity .6s}.home .ngt .pic video.on{opacity:1}
.home .ngt .tx{flex:1;min-width:0}
.home .ngt small{display:block;font-size:10.5px;font-weight:700;letter-spacing:.08em;color:rgba(var(--nr2),1)}
.home .ngt b{display:block;margin-top:3px;font-size:15px;font-weight:800;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home .ngt em{display:block;margin-top:2px;font-style:normal;font-size:12px;color:rgba(243,236,223,.62)}
.home .ngt .arr{flex:none;width:8px;height:8px;border-top:1.8px solid rgba(var(--nr2),1);border-right:1.8px solid rgba(var(--nr2),1);transform:rotate(45deg)}
/* B. 흔적: 연애 상담소 배너 끝에 검은 실 한 가닥 */
.home .lhubS{position:relative}
.home .thr{position:absolute;right:30px;top:20px;z-index:3;display:flex;flex-direction:column;align-items:center;text-decoration:none;transform-origin:50% 0;animation:thrSw 4.5s ease-in-out infinite}
.home .thr svg{width:22px;height:66px}
.home .thr span{margin-top:2px;font-size:10px;font-weight:700;color:rgba(240,165,173,.85);white-space:nowrap;opacity:0;transition:opacity .4s}
.home .thr:hover span,.home .thr.on span{opacity:1}
@keyframes thrSw{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@media (prefers-reduced-motion:reduce){.home .thr{animation:none}}
/* ===== 10/3 21:15 수호신 드러내기(녹트서울 확정 21:20): ① 머리 수호신 칩 ② 수호신이 본 오늘 · 개운 한마디 (오늘 밤 손님 줄엔 넣지 않음) ===== */
.home .gChip{margin-left:auto;margin-right:6px;display:flex;align-items:center;gap:7px;height:34px;padding:0 10px 0 3px;border:1px solid rgba(var(--gr),.55);background:rgba(var(--gr),.12);color:#f6ecdf;font-family:inherit;cursor:pointer}
.home .gChip i{flex:none;width:28px;height:28px;border-radius:50%!important;background:#222 center 16%/cover no-repeat;box-shadow:0 0 0 1px rgba(var(--gr),.8)}
.home .gChip small{display:block;font-size:9px;font-weight:700;letter-spacing:.06em;color:rgba(var(--gr),1);line-height:1.1;text-align:left}
.home .gChip b{display:block;font-size:12.5px;font-weight:800;line-height:1.15;text-align:left}
.home .tdH{position:relative;padding-right:64px}
.home .tdH .gFace{cursor:pointer;z-index:2;position:absolute;right:0;top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%!important;background:#222 center 16%/cover no-repeat;box-shadow:0 0 0 1.5px rgba(10,8,12,.9),0 0 0 2.5px rgba(var(--gr),.8)}
.home .tdH .gFace:after{content:'수호신';position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);font-size:9px;font-weight:800;letter-spacing:.04em;padding:2px 5px;background:rgb(var(--gr));color:#1a120b;white-space:nowrap}

/* ===== 10/3 22:05 시안: 커리어 = 정통 심화 리포트 하나를 크게 + 가벼운 무료 운세는 '출근길 재미 운세' 상자로 묶음 ===== */
.home .jbHero{position:relative;display:block;margin:0 16px;height:min(70vw,300px);overflow:hidden;background:#000 url('../../img/earth.jpg?v=2') center 14%/cover no-repeat;text-decoration:none;color:#fff;box-shadow:inset 0 0 0 1px rgba(224,178,90,.35)}
.home .jbHero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 14%;opacity:0;transition:opacity .6s}.home .jbHero video.on{opacity:1}
.home .jbHero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,8,6,.9) 0%,rgba(10,8,6,.55) 45%,rgba(10,8,6,0) 75%)}
.home .jbHero .tx{position:absolute;left:18px;top:50%;transform:translateY(-50%);z-index:1;width:62%}
.home .jbHero small{display:block;font-size:10.5px;font-weight:800;letter-spacing:.1em;color:#e0b25a}
.home .jbHero b{display:block;margin-top:6px;font-family:var(--brush,serif);font-weight:400;font-size:38px;line-height:1.05}
.home .jbHero em{display:block;margin-top:8px;font-style:normal;font-size:12.5px;line-height:1.55;color:rgba(255,255,255,.75)}
.home .jbHero i{display:inline-block;margin-top:12px;font-style:normal;font-size:12px;font-weight:800;padding:7px 12px;background:#e0b25a;color:#1a120b}
.home .jbFun{margin:10px 16px 0;padding:14px 14px 12px;background:#f3ece2;color:#2a2119}
.home .jbFun .jh{display:flex;align-items:baseline;justify-content:space-between}
.home .jbFun .jh b{font-size:15px;font-weight:800}
.home .jbFun .jh span{font-size:11.5px;font-weight:700;color:#8a6420}
.home .jbFun .jg{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:11px}
.home .jbFun .jg a{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:#2a2119;padding:9px 2px 8px;background:#fff;box-shadow:0 2px 0 #d8cbb5}
.home .jbFun .jg a:active{transform:translateY(2px);box-shadow:none}
.home .jbFun .jg i{display:block;width:46px;height:46px;border-radius:50%!important;background:#ddd center 18%/cover no-repeat}
.home .jbFun .jg b{margin-top:6px;font-size:12px;font-weight:800;white-space:nowrap}
.home .jbFun .jg small{margin-top:1px;font-size:10px;color:#8f8475}
.home .jbFun .jn{margin:10px 0 0;font-size:10.5px;line-height:1.5;color:#8f8475}

/* 10/3 22:40 세계관 책 배너 원래 크기(개정판) */
.home .bkS .sh small{color:#e3b866}
.home .bkS .bookC{height:244px;margin:34px 18px 0}
.home .bkS .bookC .bg:after{background:linear-gradient(90deg,rgba(10,7,5,.94) 0%,rgba(10,7,5,.78) 46%,rgba(10,7,5,.12) 100%)}
.home .bkS .bookC .grp{position:absolute;right:-6px;bottom:0;width:60%;height:118%;pointer-events:none;z-index:1}
.home .bkS .bookC .grp img{position:absolute;bottom:0;left:var(--x);height:100%;width:auto;transform:scale(var(--s));transform-origin:50% 100%;filter:drop-shadow(0 12px 16px rgba(0,0,0,.55))}
.home .bkS .bookC .grp img:nth-child(1){filter:drop-shadow(0 12px 16px rgba(0,0,0,.55)) brightness(.8)}
.home .bkS .bookC .tx{width:56%;top:20px;bottom:18px}
.home .bkS .bookC b{font-size:34px;margin-top:8px}
.home .bkS .bookC .tx>em{display:block;margin-top:9px;font-style:normal;font-size:12.5px;line-height:1.5;color:rgba(255,255,255,.78)}
.home .bkS .bookC .tg{display:flex;gap:4px;margin-top:10px}
.home .bkS .bookC .tg i{font-style:normal;font-size:10.5px;font-weight:700;padding:3px 6px;color:#e3b866;box-shadow:inset 0 0 0 1px rgba(227,184,102,.5)}
.home .bkS .bkN{margin:10px 18px 0;font-size:12.5px;line-height:1.55;color:var(--ink3,#8f8475)}

/* 10/4 세계관 입구 = 머리 알림 옆 '세계관' 금색 칩(시안 A). 누르면 세계관 책 처음부터 */
.hHead .hIc .wvA{width:auto!important;min-width:0!important;height:30px!important;flex-direction:row!important;white-space:nowrap;display:inline-flex!important;align-items:center;gap:5px;padding:0 10px 0 8px!important;margin-right:6px;border:0;background:rgba(227,184,102,.14)!important;box-shadow:inset 0 0 0 1px rgba(227,184,102,.55);color:#f0d9a2!important;font:inherit;font-size:12px!important;font-weight:800;cursor:pointer;animation:wvGlow 2.8s ease-in-out infinite}
.hHead .hIc .wvA svg{width:16px!important;height:16px!important}
@keyframes wvGlow{50%{box-shadow:inset 0 0 0 1px rgba(227,184,102,.9),0 0 14px rgba(227,184,102,.35)}}
.abBand{display:grid;grid-template-columns:40px 1fr 18px;gap:14px;align-items:center;margin:28px 16px 6px;padding:16px 16px;border-top:1px solid rgba(235,227,213,.14);border-bottom:1px solid rgba(235,227,213,.14);color:inherit;text-decoration:none}.abBand .sl{display:grid;place-items:center;width:38px;height:38px;background:#9e3426;color:#f3e6d6;font-family:"Noto Serif KR",serif;font-weight:900;font-size:12.5px;line-height:1.05;text-align:center;transform:rotate(-3deg)}.abBand b{display:block;font-family:"Noto Serif KR",serif;font-size:15px;font-weight:700;letter-spacing:-.01em}.abBand small{display:block;margin-top:3px;font-size:11.5px;opacity:.6}.abBand .ar{opacity:.55;display:grid;place-items:center}
.op[data-season]:not([data-season='base']) .opGate b,.op[data-season]:not([data-season='base']) .opCap{text-shadow:0 0 22px var(--opTint,rgba(217,180,106,.6))}

/* 10/5 19:06 오방도감 시즌 배너 · 신년 두 갈래 */
.pc[hidden],.hSec[hidden]{display:none!important}
.obdH{padding:0 16px}
.obdB{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;border-radius:18px;background:#000 center 30%/cover no-repeat;color:#f4ece1;text-decoration:none;box-shadow:0 18px 40px rgba(0,0,0,.45)}
.obdB video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s}
.obdB.vOn video{opacity:1}
.obdS{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35) 0,rgba(0,0,0,0) 30%,rgba(0,0,0,.2) 55%,rgba(8,6,5,.92) 100%)}
.obdT{position:absolute;left:20px;right:20px;bottom:20px}
.obdT small{display:block;font-size:11px;letter-spacing:.24em;color:#d9b46a;font-weight:700}
.obdT b{display:block;margin-top:8px;font-family:'OBrush','Noto Serif KR',serif;font-weight:400;font-size:40px;line-height:1.15}
.obdT em{display:block;margin-top:6px;font-style:normal;font-size:14px;color:#d8cfc2}
.obdP{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:11px;border-top:1px solid rgba(244,236,225,.18)}
.obdP s{font-size:12.5px;color:#9a8f82}.obdP strong{font-size:18px;font-weight:900;color:#e6c27a}.obdP i{font-style:normal;font-size:11.5px;color:#c7bba9}
.obdG{display:inline-flex;align-items:center;gap:9px;margin-top:14px;padding:11px 16px;border:1px solid rgba(217,180,106,.75);font-size:14px;font-weight:700;color:#f1e9dc;background:rgba(0,0,0,.35)}
.obdG i{position:relative;width:20px;height:20px;border-radius:50%;border:1px solid #d9b46a}
.obdG i::after{content:"";position:absolute;left:7px;top:5px;border-left:7px solid #d9b46a;border-top:4.5px solid transparent;border-bottom:4.5px solid transparent}
.nyLab{display:flex;align-items:baseline;gap:8px;padding:6px 18px 10px}
.nyLab b{font-size:15px;font-weight:900;color:#e6c27a}
.nyLab span{font-size:12px;color:rgba(244,236,225,.6)}
.nyLab a{margin-left:auto;font-size:12px;color:rgba(244,236,225,.75);text-decoration:none}
.nyLab.jt b{color:#f0a088}.nyLab.sp2{margin-top:14px}

/* 10/8 첫 입력: 정확한 출생 시각(선택) · 명식 아래 보정 안내 */
.btRow{display:flex;align-items:center;gap:10px;margin-top:8px}
#bt{flex:none;width:132px;height:44px;border-radius:12px;border:1px solid var(--glass-line);background:rgba(0,0,0,.35);color:var(--ink);font-size:16px;font-family:var(--sans);padding:0 10px;color-scheme:dark}
.btRow small{flex:1;font-size:11.5px;line-height:1.45;color:var(--ink-3,#8f8579)}
.pNote{margin:6px 0 0;font-size:11.5px;color:var(--ink-3,#8f8579)}
.pNote[hidden]{display:none}
/* 10/8 음력: 윤달 체크(그 해 그 달에 윤달이 있을 때만) · 없는 음력 날짜 안내 */
.leapRow{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:13px;color:var(--ink)}
.leapRow[hidden]{display:none}
.leapRow input{width:18px;height:18px;margin:0;accent-color:#d9b46a}
.bErr{margin:6px 0 0;font-size:12px;color:#f0a088}
.bErr[hidden]{display:none}
