@font-face{font-family:"Galmuri11";src:url(a/4bca9102ed.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:"Galmuri11";src:url(a/6fca9816e1.woff2) format("woff2");font-weight:700;font-display:swap}


:root{
  --text:#2a211b; --sub:#8a7a68; --card:#fffaf0; --cardHi:#fffdf7; --line:#e6d3a8; --lineD:#cdb07a;
  --green:#3f8f2f; --greenD:#2f7d27; --greenBg:#e8f6d6; --greenLine:#a9d58a; --greenLineD:#86bd63;
  --red:#e8453c; --blue:#2f7fd6; --brown:#5a3e2b;
  --font:"Galmuri11","Galmuri9","Apple SD Gothic Neo","Noto Sans KR",sans-serif;
  --page:#efe3c8; --page2:#cfc2a6; --onPage:#2a211b;
}
body.t-morning{--page:#f4ecd8;--page2:#dccfae}
body.t-day{--page:#f1ead6;--page2:#d9ccaa}
body.t-sunset{--page:#f6e2cd;--page2:#d6b99a}
body.t-night{--page:#2d3360;--page2:#1c2040;--onPage:#f3effc}
*{box-sizing:border-box}
body{
  margin:0;background:var(--page2);color:var(--text);font-family:var(--font);
  font-size:14px;line-height:1.4;-webkit-font-smoothing:none;-webkit-text-size-adjust:100%
}
button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.px{display:inline-block;vertical-align:middle}
.app{max-width:520px;margin:0 auto;background:var(--page);min-height:100svh;overflow:hidden}

/* ===== 상단 장면 ===== */
.hero{
  --heroH:calc(clamp(250px,72vw,380px) + env(safe-area-inset-top));
  position:relative;height:var(--heroH);overflow:hidden;
  -webkit-mask-image:linear-gradient(#000 calc(100% - 46px),transparent);
  mask-image:linear-gradient(#000 calc(100% - 46px),transparent)
}
.stage{position:absolute;top:0;left:calc((100% - var(--heroH) * 1.5) * 0.3);height:var(--heroH);width:calc(var(--heroH) * 1.5);pointer-events:none}
.bg{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1.2s ease;user-select:none;-webkit-user-drag:none}
.bg.on{opacity:1}
.signal{position:absolute;left:67.90%;bottom:22.17%;width:5.86%;height:31.25%}
.signal img{position:relative;display:block;width:100%;height:100%;user-select:none}
.sigShadow{position:absolute;left:2.0%;width:124.7%;bottom:-3%;height:7%;background:radial-gradient(ellipse at center,rgba(20,20,40,.4),rgba(20,20,40,0) 70%)}
.sigGlow{position:absolute;width:170%;height:0;padding-bottom:170%;transform:translate(-50%,-50%);border-radius:50%;opacity:0;transition:opacity 1.2s ease;pointer-events:none}
.heroTop{z-index:2;
  position:absolute;left:12px;right:8px;top:calc(env(safe-area-inset-top) + 12px);
  display:flex;align-items:flex-start;justify-content:space-between;gap:8px
}
.heroLeft{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.pill{
  display:inline-flex;align-items:center;gap:8px;padding:7px 14px;
  background:var(--card);border:3px solid var(--brown);border-radius:12px;
  box-shadow:0 3px 0 rgba(58,36,24,.35);font-size:16px;font-weight:700
}
.gearWrap{position:relative}
.gear{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:var(--card);border:3px solid var(--brown);border-radius:12px;box-shadow:0 3px 0 rgba(58,36,24,.35);line-height:0}
.gear:active{transform:translateY(2px)}
.menu{
  position:fixed;right:8px;top:calc(env(safe-area-inset-top) + 68px);z-index:70;min-width:170px;padding:8px;
  background:var(--card);border:3px solid var(--brown);border-radius:12px;box-shadow:0 4px 0 rgba(58,36,24,.3)
}
.menu[hidden]{display:none}
.menuTitle{font-size:12px;color:var(--sub);padding:2px 6px 6px}
.menu button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:9px 8px;border-radius:8px;font-size:14px}
.menu button.on{background:var(--greenBg);color:var(--greenD)}

/* ===== 카드 공통 ===== */
.content{position:relative;margin-top:-34px;padding:0 14px 18px;display:flex;flex-direction:column;gap:14px}
.card{
  position:relative;padding:14px;background:var(--card);
  border:3px solid var(--line);border-radius:16px;
  box-shadow:0 4px 0 var(--lineD),inset 0 0 0 2px var(--cardHi)
}
.cardHead{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:16px;font-weight:700}

/* 지금은? */
.wxBar{
  position:relative;padding:10px 14px;background:var(--card);border:3px solid var(--line);border-radius:16px;
  box-shadow:0 4px 0 var(--lineD),inset 0 0 0 2px var(--cardHi);cursor:pointer;-webkit-tap-highlight-color:transparent
}
.wxBar:active{transform:translateY(2px)}
.wxBar .chev{position:absolute;right:12px;top:50%;transform:translateY(-50%)}
.wxLine1,.wxLine2{display:flex;align-items:center;gap:10px;padding-right:20px;white-space:nowrap;overflow:hidden}
.wxLine1{font-size:15px;min-height:26px}
.wxTemp{font-size:20px;font-weight:700}
.wxRange{font-size:14px;color:var(--sub)}
.wxRain{font-size:14px;color:var(--blue)}
.wxStale{font-size:11px;color:var(--sub)}
.wxLine2{margin-top:6px;font-size:14px;font-weight:700}
.wxOutfit{min-width:0;overflow:hidden;text-overflow:ellipsis}
.nowCard{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px}
.nowCard .clock{margin:0;font-size:clamp(30px,10.5vw,40px)}
.nowTitle{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:700}
.chev{color:var(--sub);font-size:16px}
.clock{margin:12px 0 8px;text-align:center;font-size:46px;font-weight:700;line-height:1;letter-spacing:1px;font-variant-numeric:tabular-nums}

/* 다음 신호 */
.nextCard{background:var(--greenBg);border-color:var(--greenLine);box-shadow:0 4px 0 var(--greenLineD),inset 0 0 0 2px #f4fbec;overflow:hidden}
.nextCard .cardHead{color:var(--green);margin-bottom:8px}
.nextBody{display:flex;align-items:center;gap:12px}
.nextInfo{flex:1;min-width:0}
.nextTime{font-size:34px;font-weight:700;color:var(--greenD);line-height:1.05;font-variant-numeric:tabular-nums}
.nextDir{margin-top:6px;font-size:18px;font-weight:700}
.countdown{margin-top:8px;font-size:15px;color:var(--green);padding-bottom:6px}
.etaBox{align-self:flex-start;text-align:center;white-space:nowrap;padding:8px 10px;background:#fff;border:2px solid var(--greenLine);border-radius:12px}
.etaBox span{display:block;font-size:11px;color:var(--sub)}
.etaBox strong{display:block;margin-top:4px;font-size:20px}

/* 신호 흐름 */
.listHead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.listHead .cardHead{margin:0}
.lateInfo{font-size:12px;color:var(--sub);white-space:nowrap}
.lateInfo.alert{color:var(--red)}
.lateInfo[hidden]{display:none}
.warn{display:none}
.warn.show{display:inline}
.warn.show svg{animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
@media (prefers-reduced-motion:reduce){*{animation:none!important}}
.timeline{display:flex;flex-direction:column;gap:4px}
.sRow{display:grid;grid-template-columns:16px auto 1fr auto;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;font-variant-numeric:tabular-nums}
.sN,.sE{font-size:13px;color:var(--sub)}
.sE{white-space:nowrap}
.radio{width:14px;height:14px;border-radius:50%;border:2px solid #8a7a68;background:#fff}
.sRow.past{opacity:.55}
.sRow.next{background:var(--greenBg);color:var(--greenD)}
.sRow.next .sN,.sRow.next .sE{color:var(--greenD)}
.sRow.next .radio{border-color:var(--greenD);background:#5cc04a;box-shadow:inset 0 0 0 2px #fff}

/* ===== 날씨 화면 ===== */
.wScreen{position:fixed;inset:0;z-index:50;display:none;overflow-y:auto;background:var(--page2);-webkit-overflow-scrolling:touch}
.wScreen.open{display:block}
.wInner{max-width:520px;min-height:100%;margin:0 auto;background:var(--page)}
.wHead{
  position:sticky;top:0;z-index:3;display:grid;grid-template-columns:46px 1fr 46px;align-items:center;
  padding:calc(env(safe-area-inset-top) + 6px) 8px 6px;background:var(--page);color:var(--onPage)
}
.backBtn{width:46px;height:46px;border:0;background:transparent;font-size:26px}
.wTitle{display:flex;align-items:center;justify-content:center;gap:8px;font-size:20px;font-weight:700}
.wBody{display:flex;flex-direction:column;gap:14px;padding:4px 14px 18px}

.dayTabs{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:none}
.dayTabs::-webkit-scrollbar{display:none}
.dayTab{
  flex:0 0 auto;min-width:96px;padding:8px 10px;text-align:center;font-size:13px;line-height:1.35;color:var(--sub);
  background:var(--card);border:3px solid var(--line);border-radius:12px
}
.dayTab b{display:block;font-size:15px;color:var(--text)}
.dayTab.on{background:var(--greenBg);border-color:var(--greenLine);color:var(--greenD)}
.dayTab.on b{color:var(--greenD)}

.curTop{display:flex;align-items:center;justify-content:center;gap:14px}
.curCond{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:10px;font-size:16px;font-weight:700}
.curIdx{margin-top:12px;padding-top:10px;border-top:2px dashed var(--line);text-align:center;font-size:12px;color:var(--sub)}
.curIdx:empty{display:none}
.curIcon{line-height:0}
.curTemp{font-size:54px;font-weight:700;line-height:1}
.curRain{display:flex;align-items:center;gap:4px;font-size:14px;color:var(--blue);font-weight:400}
.curSub{margin-top:12px;text-align:center;font-size:13px;color:var(--sub)}
.curSub .hi{color:var(--red)}

.outfitChar:empty{display:none}
.outfitChar:empty + .bubble::before,.outfitChar:empty + .bubble::after{display:none}
.hourly{position:relative;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.hourly::-webkit-scrollbar{display:none}
.hCard{flex:0 0 58px;text-align:center;padding:6px 2px;border-radius:10px}
.hCard.now{background:var(--greenBg)}
.hCard.past{opacity:.5}
.hTime{font-size:12px;color:var(--sub)}
.hIcon{margin:6px 0;line-height:0}
.hTemp{font-size:16px;font-weight:700}
.hRain{margin-top:2px;font-size:11px;color:var(--blue)}

.outfitBox{display:flex;align-items:center;gap:12px}
.outfitChar{flex:0 0 auto;line-height:0}
.bubble{position:relative;flex:1;padding:10px 12px;background:#fff;border:2px solid var(--line);border-radius:12px}
.bubble::before{content:"";position:absolute;left:-10px;top:20px;border:8px solid transparent;border-right-color:var(--line);border-left:0}
.bubble::after{content:"";position:absolute;left:-7px;top:22px;border:6px solid transparent;border-right-color:#fff;border-left:0}
.bubbleTitle{margin-bottom:6px;font-size:16px;font-weight:700}
.bubbleText{font-size:13px;line-height:1.6;color:var(--sub)}



:root{
  --card:#fffdf7;
  --cardHi:#fffdf7;
  --line:#d9c9a6;
  --lineD:#d9c9a6;
  --greenBg:#edf7df;
  --greenLine:#a8cf87;
  --greenLineD:#a8cf87;
}
body{
  background:var(--page);
}
.app{
  box-shadow:none;
}

/* 장면을 주인공으로 */
.hero{
  --heroH:calc(clamp(275px,78vw,405px) + env(safe-area-inset-top));
  -webkit-mask-image:linear-gradient(#000 calc(100% - 22px),transparent);
  mask-image:linear-gradient(#000 calc(100% - 22px),transparent);
}
.stage{
  left:calc((100% - var(--heroH) * 1.5) * .5);
}
.heroTop{
  left:14px; right:14px;
  top:calc(env(safe-area-inset-top) + 12px);
}
.pill{
  padding:7px 11px;
  border:1.5px solid rgba(74,58,42,.78);
  border-radius:9px;
  box-shadow:0 2px 0 rgba(58,36,24,.18);
  background:rgba(255,253,247,.94);
  font-size:14px;
}
.gear{
  width:40px;height:40px;
  border:1.5px solid rgba(74,58,42,.78);
  border-radius:9px;
  box-shadow:0 2px 0 rgba(58,36,24,.18);
  background:rgba(255,253,247,.94);
}
.menu{
  border:1.5px solid var(--brown);
  box-shadow:0 3px 0 rgba(58,36,24,.18);
}

/* 정보 영역 */
.content{
  margin-top:-20px;
  padding:0 12px calc(22px + env(safe-area-inset-bottom));
  gap:10px;
}
.card,.wxBar{
  border:1px solid var(--line);
  border-radius:13px;
  box-shadow:none;
}
.card{padding:13px}
.wxBar{
  padding:9px 12px;
  background:rgba(255,253,247,.98);
}
.wxLine1{font-size:14px;min-height:24px}
.wxTemp{font-size:19px}
.wxLine2{margin-top:4px;font-size:13px}

/* 지금은: 한 줄짜리 상태 패널 */
.nowCard{
  min-height:64px;
  padding:10px 13px;
  background:#fffdf7;
}
.nowCard .clock{
  font-size:clamp(28px,9.4vw,38px);
  letter-spacing:.5px;
}
.nowTitle{font-size:15px}

/* 다음 신호: 핵심 카드 */
.nextCard{
  padding:14px;
  border:1px solid var(--greenLine);
  border-radius:14px;
  box-shadow:none;
  background:linear-gradient(180deg,#eff8e5 0%,#e9f5da 100%);
}
.nextCard .cardHead{
  margin-bottom:6px;
  font-size:14px;
}
.nextTime{
  font-size:clamp(31px,9vw,38px);
  letter-spacing:.3px;
}
.nextDir{margin-top:4px;font-size:16px}
.countdown{margin-top:6px;padding-bottom:0;font-size:13px}
.etaBox{
  padding:7px 9px;
  border:1px solid var(--greenLine);
  border-radius:9px;
  background:rgba(255,255,255,.76);
}
.etaBox span{font-size:10px}
.etaBox strong{margin-top:2px;font-size:18px;color:var(--greenD)}

/* 흐름: 카드 안에 카드가 겹쳐 보이지 않게 */
.cardHead{font-size:15px;margin-bottom:9px}
.timeline{gap:2px}
.sRow{
  min-height:48px;
  padding:7px 8px;
  border-radius:8px;
}
.sRow:not(.next){background:rgba(244,239,228,.48)}
.sRow.next{
  background:#e7f4da;
  outline:1px solid rgba(134,189,99,.45);
}
.sN,.sE{font-size:12px}
.radio{width:11px;height:11px;border-width:1.5px}
.lateInfo{font-size:11px}

/* 날씨 상세도 같은 언어로 */
.wHead{padding-left:10px;padding-right:10px}
.wBody{gap:10px;padding:4px 12px 20px}
.dayTabs{gap:6px}
.dayTab{
  min-width:88px;
  padding:8px;
  border:1px solid var(--line);
  border-radius:10px;
}
.dayTab.on{
  border:1px solid var(--greenLine);
  background:var(--greenBg);
}
.curTemp{font-size:50px}
.curIdx{border-top:1px dashed var(--line)}
.hCard{border-radius:8px}
.bubble{
  padding:9px 11px;
  border:1px solid var(--line);
  border-radius:10px;
}
.bubble::before{left:-9px;border-width:7px;border-right-color:var(--line)}
.bubble::after{left:-7px;top:21px;border-width:6px}
.bubbleTitle{font-size:15px}
.bubbleText{font-size:12px}

/* 작은 화면에서도 장면/정보 균형 유지 */
@media(max-width:390px){
  .hero{--heroH:calc(clamp(265px,78vw,360px) + env(safe-area-inset-top))}
  .content{padding-left:10px;padding-right:10px}
  .nextBody{gap:8px}
  .etaBox{padding:6px 7px}
}



:root{--c0:url(a/db195b0681.png)}
/* 장면 속 캐릭터: 화단 가운데 앞 인도 */
.char{position:absolute;left:45.2%;bottom:20.4%;height:18%;aspect-ratio:240/300;z-index:4;pointer-events:none;}
.char.moving[data-f="2"] .charBody,.char.moving[data-f="4"] .charBody{translate:0 -2.2%}
.charBody,.cv,.cvSun,.cvLamp{position:absolute;inset:0;width:100%;height:100%;display:block}
.cv{transition:filter 1.2s ease}
.cvSun,.cvLamp{transform-origin:50% 100%;filter:blur(1.2px);opacity:0;pointer-events:none}
body.t-morning .cvSun{transform:scaleY(-.34) skewX(-52deg);opacity:.15}
body.t-sunset .cvSun{transform:scaleY(-.38) skewX(55deg);opacity:.15}
body.t-daybreak .cvSun{transform:scaleY(-.2) skewX(-38deg);opacity:.12}
.cvLamp{transform:scaleY(calc(var(--lk) * -1)) skewX(var(--lsk))}
body.t-night .cvLamp{opacity:calc(var(--lg) * .26)}
body.t-sunset .cvLamp{opacity:0}
.char.sitting .cvSun,.char.sitting .cvLamp,.char.sitting .charShadow{opacity:0!important}
body.t-morning .cv{filter:saturate(1.03) sepia(.06)}
body.t-sunset .cv{filter:brightness(.95) sepia(.2) saturate(1.08)}
body.t-night .cv{filter:none}
.char{--lg:0;--lk:.2;--lsk:0deg}
.hero{cursor:pointer}
/* 벤치에 앉기 */
.sitBtn{position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);z-index:5;pointer-events:auto;
  padding:5px 10px;font:12px/1 "Galmuri11","Galmuri9",sans-serif;color:var(--text,#2a211b);white-space:nowrap;cursor:pointer;
  background:rgba(255,253,247,.96);border:1.5px solid rgba(74,58,42,.78);border-radius:9px;box-shadow:0 2px 0 rgba(58,36,24,.18)}
.sitBtn::after{content:"";position:absolute;left:50%;top:100%;margin-left:-5px;border:5px solid transparent;border-top-color:rgba(74,58,42,.78)}
.sitBtn:active{transform:translateX(-50%) translateY(1px)}
.sitBtn[hidden]{display:none}
.char.sitting{bottom:25%}
/* 처음 위치 버튼 */
.gearWrap{display:flex;gap:8px}
.resetBtn{font-family:inherit;font-size:20px;line-height:1;color:var(--brown);font-weight:700}
/* 발밑 접지 그림자 */
.charShadow{position:absolute;left:4%;right:4%;bottom:-4%;height:9%;border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(30,22,30,.34),rgba(30,22,30,.14) 50%,rgba(30,22,30,0) 72%)}
body.t-morning .charShadow,body.t-sunset .charShadow{left:0;right:0;height:10%}
/* 신호등 불빛을 신호등 앞으로 */
.signal img{z-index:1}
.sigGlow{z-index:2;mix-blend-mode:screen}
/* 장면 크게 + 캐릭터를 따라 움직이는 카메라(JS가 left를 조절) */
body .hero{--heroH:calc(clamp(330px,100vw,520px) + env(safe-area-inset-top))}
body .stage{
  --sH:calc(var(--heroH) * 1.32);
  top:auto;bottom:0;height:var(--sH);width:calc(var(--sH) * 1.5);
  left:calc(50% - var(--sH) * 1.5 * .5);will-change:transform
}
/* 신호등: 횡단보도 오른쪽 끝으로 */
.signal{left:62.5%;bottom:21.5%;width:6.19%;height:33%;z-index:3}
/* 가로등: 벤치와 화단 사이, 받침이 인도 위에 (밤 배경의 가로등과 같은 크기) */
.lamp{position:absolute;left:34.96%;bottom:22.17%;height:38.09%;aspect-ratio:81/586;z-index:2;pointer-events:none}
.lamp>img{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity 1.2s ease}
#lampL{left:8.53%} #lampR{left:92.97%}
#lampL>img,#lampR>img{opacity:0!important} body.t-night #lampL>img,body.t-night #lampR>img,body.t-sunset #lampL>img,body.t-sunset #lampR>img{opacity:1!important}
body.t-morning .lampOffM,body.t-day .lampOffM,body.t-sunset .lampOn,body.t-night .lampOn{opacity:1}
/* 밤 빛은 배경 그림에 직접 칠해 둠. 저녁만 살짝 켜진 느낌 */
.lampGlow{position:absolute;left:50%;top:16%;width:520%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(255,214,140,.75) 0%,rgba(255,190,110,.28) 22%,rgba(255,180,100,0) 60%);
  mix-blend-mode:screen;opacity:0;transition:opacity 1.2s ease}
.lampCore{display:none}
.lampPool{position:absolute;left:50%;top:105.7%;width:356%;height:31.5%;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(255,200,120,.55),rgba(255,190,110,.18) 50%,rgba(255,190,110,0) 72%);
  mix-blend-mode:screen;opacity:0;transition:opacity 1.2s ease}
body.t-sunset .lampOn{filter:brightness(.95) sepia(.12)}
body.t-night .lampOn{filter:brightness(.9)}
body.t-sunset .lampGlow{opacity:.18} body.t-night .lampGlow{opacity:.72}
body.t-sunset .lampPool{opacity:0} body.t-night .lampPool{opacity:.16}
.environmentLight{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:0;pointer-events:none;transition:opacity 1.2s ease}
body.t-night .environmentLight{opacity:1}
.stage>.bg{z-index:0}

/* ---- 레이아웃 A: 도로를 잘라 카드를 위로, 날씨+현재시각 한 카드, 카드 스타일 통일 ---- */
body .hero{--heroH:calc(var(--u)*0.89 + env(safe-area-inset-top))}
body .stage{--sH:calc(var(--u)*1.3);bottom:calc(var(--u)*.035)}
.content{gap:10px;padding-left:12px;padding-right:12px}
.card,.wxBar{border:1px solid var(--line);border-radius:14px;box-shadow:0 2px 0 rgba(58,36,24,.08)}
.card{padding:12px 14px}
.cardHead{font-size:15px}
.sRow{min-height:42px;padding:6px 8px}
.nowCard.combo{display:block;padding:0;overflow:hidden;min-height:0;position:relative;z-index:2;
  background:linear-gradient(rgba(255,253,247,.5) 0%,rgba(255,253,247,.6) 60%,rgba(255,253,247,.9) 100%)!important;backdrop-filter:blur(2px) saturate(1.1);-webkit-backdrop-filter:blur(2px) saturate(1.1);
  border-color:rgba(74,58,42,.35)!important}
.content{margin-top:calc(-1 * var(--u) * 0.180)!important}
body .hero{-webkit-mask-image:linear-gradient(#000 calc(100% - var(--u)*.035 - 46px),transparent calc(100% - var(--u)*.035));mask-image:linear-gradient(#000 calc(100% - var(--u)*.035 - 46px),transparent calc(100% - var(--u)*.035));--sH:calc(var(--u)*1.3)}
.combo .wxBar{border:0;border-radius:0;box-shadow:none;background:transparent;padding:11px 14px 10px;margin:0 14px;padding-left:0;padding-right:0;border-bottom:1.5px dashed rgba(74,58,42,.38)}
.combo .wxBar .chev{right:0}
.combo .nowInner{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 14px 10px}
.combo .clock{font-size:clamp(22px,6.8vw,27px)!important;letter-spacing:.5px}
.combo .nowTitle{font-size:15px}
/* 카드 세로 여백 줄임 (한 화면에 들어오게) */
.content{gap:8px}
.combo .wxBar{padding:8px 0 7px!important}
.combo .wxLine2{margin-top:2px}
.combo .nowInner{padding:6px 14px 8px!important}
.nextCard{padding:10px 14px!important}
.nextCard .cardHead{margin-bottom:2px!important}
.nextDir{margin-top:2px!important}
.countdown{margin-top:3px!important}
.etaBox{align-self:center!important}
.content>.card:last-child{padding:10px 12px!important}
.listHead{margin-bottom:5px!important}
.sRow{min-height:36px!important;padding:4px 8px!important}
/* 다음 신호: 시각 작게, 남은 시간은 제목 옆 */
.nextHead{display:flex;align-items:baseline;gap:8px}
.nextHead .countdown{margin:0!important;padding:0!important;font-size:13px;font-weight:400;color:var(--green);opacity:.85}
.nextTime{font-size:clamp(26px,7.6vw,31px)!important}
/* 날씨·지금은?: 카드 없이 아래에서 위로 옅어지는 그라데이션 위에 */
.nowCard.combo{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;overflow:visible!important;isolation:isolate}
.nowCard.combo::before{content:"";position:absolute;z-index:-1;left:-12px;right:-12px;top:-34px;bottom:-6px;pointer-events:none;
  background:linear-gradient(to top,var(--page) 0%,var(--page) 42%,color-mix(in srgb,var(--page) 70%,transparent) 68%,transparent 100%)}
.combo .wxBar,.combo .nowInner{color:var(--onPage)}
body.t-night .combo .wxLine1,body.t-night .combo .wxLine2,body.t-night .combo .nowTitle,body.t-night .combo .clock{color:var(--onPage)}
body.t-night .combo .wxBar{border-bottom-color:rgba(243,239,252,.35)}
/* 간격 보정 */
.combo .nowInner{padding-top:11px!important}
.nextDir{margin-top:7px!important}
.nextCard .cardHead.nextHead{margin-bottom:9px!important}
/* 화면 높이가 낮으면(브라우저 바 등) 장면을 자동으로 줄여 한 화면에 */
:root{--u:min(clamp(330px,100vw,520px),max(250px,calc((100vh - 485px) * 1.26)))}
@supports (height:100dvh){:root{--u:min(clamp(330px,100vw,520px),max(250px,calc((100dvh - 485px) * 1.26)))}}
@media (max-height:700px){
  :root{--u:min(clamp(330px,100vw,520px),max(250px,calc((100dvh - 425px) * 1.26)))}
}
/* 상단: 날짜 알약과 버튼 높이·세로 위치 맞춤 */
.heroTop{align-items:center!important;top:calc(env(safe-area-inset-top) + 10px)!important}
.pill{height:40px;box-sizing:border-box;padding:0 12px!important;display:inline-flex;align-items:center}
.gear{height:40px!important;width:40px!important;box-sizing:border-box}
/* 초기화 페이드 */
.heroFade{position:absolute;inset:0;z-index:5;background:var(--page);opacity:0;pointer-events:none;transition:opacity .32s ease}
.heroFade.on{opacity:1}
.heroTop{z-index:6!important}
/* 날짜: 카드 없이 장면 위 글자 */
.pill{background:transparent!important;border:0!important;box-shadow:none!important;padding:0 4px!important;
  color:#fff;text-shadow:1px 0 0 rgba(30,28,56,.75),-1px 0 0 rgba(30,28,56,.75),0 1px 0 rgba(30,28,56,.75),0 -1px 0 rgba(30,28,56,.75),0 2px 0 rgba(30,28,56,.55),0 0 10px rgba(20,24,50,.45);font-size:13px!important;font-weight:400!important}
.pill *{font-weight:400!important}
.pill svg{filter:drop-shadow(0 1px 1px rgba(20,24,50,.5))}

/* ===== 날씨 상세: 풍경 헤더 ===== */
.wInner{position:relative;background:var(--page)}
.wHead{position:sticky;top:0;z-index:4;background:transparent!important;height:calc(env(safe-area-inset-top) + 52px);margin-bottom:calc(-1 * (env(safe-area-inset-top) + 52px));padding-top:calc(env(safe-area-inset-top) + 4px)!important;pointer-events:none}
.wHead *{pointer-events:auto}
.wHead .backBtn{width:38px;height:38px;margin:4px 0 0 4px;border-radius:19px;background:rgba(255,255,255,.18);color:#fff;font-size:22px;backdrop-filter:blur(4px)}
.wHead .wTitle{color:#fff;font-size:15px;text-shadow:0 1px 3px rgba(0,0,0,.45);margin-top:4px}
.wHero{position:relative;height:calc(env(safe-area-inset-top) + 262px);background:#8ab center 38%/cover no-repeat;display:flex;align-items:flex-end;justify-content:center;z-index:3}
.wHero::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(10,16,40,.34),rgba(10,16,40,.34))}
.wHero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:44px;background:linear-gradient(180deg,transparent,var(--page))}
.wHeroIn{position:relative;z-index:1;width:100%;padding:0 16px 22px;color:#fff;text-shadow:0 1px 3px rgba(10,16,40,.75),0 0 10px rgba(10,16,40,.45)}
.wHeroIn .curTemp{font-size:46px;color:#fff;text-shadow:0 2px 0 rgba(10,16,40,.35),0 2px 8px rgba(10,16,40,.4)}
.wHeroIn .curCond{margin-top:4px;font-size:15px}
.wHeroIn .curRain{color:#d6ebff;font-size:14px}
.wHeroIn .curSub{margin-top:3px;color:rgba(255,255,255,.92);font-size:12px}
.wHeroIn .curTop{gap:10px}
.wHeroIn .curSub .hi{color:#ffb0a6}
.wBody{gap:8px!important;padding-bottom:14px!important;margin-top:-4px;position:relative;z-index:2}
.dayTab{background:var(--card)}
.wTiles{display:grid;grid-template-columns:repeat(4,1fr);margin:12px auto 0;max-width:420px;padding:7px 2px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);border-radius:12px;backdrop-filter:blur(2px);text-shadow:0 1px 4px rgba(10,16,40,.7)}
.wTiles div{text-align:center;padding:1px 0;border-left:1px dashed rgba(255,255,255,.3)}
.wTiles div:first-child{border-left:0}
.wTiles i{display:block;font-style:normal;font-size:11px;color:#fff;margin-bottom:3px}
.wTiles b{font-size:14px;color:#fff}
/* 옷차림 */
.outfitBox{align-items:flex-end;gap:10px}
.outfitBox .charPortrait{width:92px;height:115px}
.outfitBox .bubble{align-self:center}
.outfitBox .bubble::before{top:auto;bottom:34px}.outfitBox .bubble::after{top:auto;bottom:35px}
.chips{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 8px}
.chips span{padding:3px 8px;font-size:12px;color:var(--greenD);background:var(--greenBg);border:1px solid var(--greenLine);border-radius:8px}
.bubbleTitle{display:none}


.wHeroIn .dayTabs{margin:12px auto 0;max-width:420px}
.wHeroIn .dateBtn{background:rgba(255,255,255,.9);color:#2a211b;text-shadow:none;border:1px solid rgba(255,255,255,.6);padding:7px 14px;font-size:14px}
.wHeroIn .dateBtn em{color:#6d6254}
.wHeroIn .calPop{color:var(--text);text-shadow:none;text-align:left}
.wHeroIn .calPop *{text-shadow:none}

/* 날짜: 제목 아래 작게 */
.wHead{height:calc(env(safe-area-inset-top) + 84px)!important;margin-bottom:calc(-1 * (env(safe-area-inset-top) + 84px))!important;align-items:start!important}
.wTitleCol{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:4px;min-width:0}
.wTitleCol .dayTabs{margin:0!important;max-width:none!important;position:relative}
.wTitleCol .dateBtn{width:auto;display:inline-flex;gap:6px;padding:3px 11px;font-size:12px;font-weight:400;color:#fff;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.4);border-radius:14px;text-shadow:0 1px 2px rgba(0,0,0,.4);backdrop-filter:blur(4px)}
.wTitleCol .dateBtn small{font-size:10px;padding:0 5px;margin:0 5px 0 0;background:rgba(255,255,255,.9);color:#2a6b1f;border-color:transparent;text-shadow:none}
.wTitleCol .dateBtn em{color:#fff;font-size:9px}
.wTitleCol .calPop{left:50%;right:auto;transform:translateX(-50%);width:min(340px,calc(100vw - 24px));color:var(--text);text-shadow:none;text-align:left}
.wTitleCol .calPop *{text-shadow:none}

/* 날짜 줄 (시간별 카드 위) */
.wHead{height:calc(env(safe-area-inset-top) + 52px)!important;margin-bottom:calc(-1 * (env(safe-area-inset-top) + 52px))!important;align-items:center!important}
.wHero{height:calc(env(safe-area-inset-top) + 244px)!important}
.dateRow{display:flex;align-items:stretch;gap:6px}
.dateRow .dateBtn{flex:1;justify-content:center;gap:8px;padding:8px 12px}
.dateRow .dateBtn em{font-size:10px}
.stepBtn{flex:0 0 42px;border:1px solid var(--line);border-radius:10px;background:var(--card);font-size:20px;color:var(--text)}
.stepBtn:disabled{opacity:.3}

/* 날짜 줄: 시간별 카드 안 */
.hourCard{padding-top:8px!important}
.hourCard .dayTabs{padding-bottom:8px!important;margin-bottom:6px;border-bottom:1px dashed var(--line)}
.hourCard .dateRow{gap:2px}
.hourCard .dateBtn,.hourCard .stepBtn{background:transparent;border:0;border-radius:8px}
.hourCard .dateBtn{padding:4px 8px;font-size:15px}
.hourCard .stepBtn{flex:0 0 44px;font-size:22px}
.hourCard .calPop{left:-4px;right:-4px;top:calc(100% + 4px)}

/* 헤더 여백 + 말풍선 꼬리 */
.wHero{height:calc(env(safe-area-inset-top) + 262px)!important}
.wHeroIn{padding-bottom:10px!important}
.wHeroIn .curCond{margin-top:9px!important}
.wHeroIn .curSub{margin-top:7px!important}
.wHeroIn .wTiles{margin-top:18px!important}
.outfitBox .bubble::before{display:none!important}
.outfitBox .bubble::after{content:"";position:absolute;left:-6px;top:auto;bottom:30px;width:10px;height:10px;background:#fff;border:0;border-left:1px solid var(--line);border-bottom:1px solid var(--line);transform:rotate(45deg)}

/* 상단 버튼: 간결하게 */
.wHead .backBtn{width:44px;height:44px;margin:0;background:transparent!important;backdrop-filter:none!important;border-radius:0;font-size:38px;line-height:1;font-weight:400;color:#fff;text-shadow:0 1px 4px rgba(10,16,40,.7);padding:0 0 4px}
.wResetBtn{width:44px;height:44px;border:0;background:transparent;display:flex;align-items:center;justify-content:center;justify-self:end;filter:drop-shadow(0 1px 3px rgba(10,16,40,.7))}
.wResetBtn svg{filter:brightness(0) invert(1)}

/* 밤: 날씨 화면 카드를 밤 톤으로 */
body.t-night,body.t-night .wScreen{color:var(--text);--card:#3b4380;--cardHi:#434b8a;--line:#6168a8;--text:#f3effc;--sub:#a9acd8;--greenBg:rgba(120,214,190,.18);--greenLine:#6fc4ab;--greenD:#b9f0dc;--blue:#8fc6ff;--red:#ff8f86}
body.t-night .wScreen .card{box-shadow:0 2px 0 rgba(10,12,34,.45)}
body.t-night .wScreen .bubble{background:#323a74}
body.t-night .wScreen .outfitBox .bubble::after{background:#323a74}
body.t-night .wScreen .chips span{background:rgba(132,206,112,.18)}
body.t-night .wScreen .calPop{box-shadow:0 10px 28px rgba(5,6,24,.6)}
body.t-night .wScreen .hIcon .px,body.t-night .wScreen .outfitHead .px{filter:drop-shadow(0 0 1px rgba(255,255,255,.55))}

/* 헤더 글씨 가독성 */
.wHeroIn .curSub,.wHeroIn .curCond,.wHeroIn .curRain{font-weight:700;text-shadow:0 1px 2px rgba(10,16,40,.85),0 0 8px rgba(10,16,40,.55)}
.wHeroIn .curTemp{text-shadow:0 2px 0 rgba(10,16,40,.5),0 2px 10px rgba(10,16,40,.55)}
.wHeroIn .curRain{color:#e3f1ff}
.wHeroIn .curSub .hi{color:#ffc2b9}
.wHead .wTitle{text-shadow:0 1px 3px rgba(10,16,40,.8),0 0 8px rgba(10,16,40,.5)}
.wHead .backBtn,.wResetBtn{filter:drop-shadow(0 1px 3px rgba(10,16,40,.85))}

.wHeroIn .wTiles{background:rgba(255,255,255,.2)!important;border-color:rgba(255,255,255,.42)!important}
.wTiles i{font-weight:700;text-shadow:0 1px 2px rgba(10,16,40,.8)!important}
.wTiles b{text-shadow:0 1px 2px rgba(10,16,40,.85)!important}

/* 밤: 메인 화면 카드 */
body.t-night .nextCard{background:#1d4a3c!important;border-color:#5fae55!important;box-shadow:0 3px 0 #11382b,inset 0 0 0 1px rgba(255,255,255,.07)!important}
body.t-night .nextCard .cardHead,body.t-night .nextHead .countdown{color:#b5e89b!important}
body.t-night .nextTime{color:#c9f3ae!important}
body.t-night .nextDir{color:#f3effc}
body.t-night .etaBox{background:rgba(8,28,24,.5)!important;border-color:#5fae55!important}
body.t-night .etaBox span{color:#a9d9b4}
body.t-night .etaBox strong{color:#c9f3ae}
body.t-night .sRow:not(.next){background:rgba(255,255,255,.07)!important}
body.t-night .sRow.next{background:rgba(132,206,112,.2)!important;outline:1px solid rgba(132,206,112,.5)!important;color:#c9f3ae}
body.t-night .sRow.next .sN,body.t-night .sRow.next .sE{color:#c9f3ae}
body.t-night #walkerIcon .px{filter:brightness(1.9) saturate(.9)}

/* 헤더 덮개: 시간대 색으로 물들이기 */
body.t-morning .wHero::before{background:linear-gradient(180deg,rgba(40,86,150,.34),rgba(52,92,150,.26))}
body.t-day .wHero::before{background:linear-gradient(180deg,rgba(22,78,160,.32),rgba(30,84,150,.24))}
body.t-sunset .wHero::before{background:linear-gradient(180deg,rgba(92,58,128,.34),rgba(120,64,100,.26))}
body.t-night .wHero::before{background:rgba(10,16,48,.30)}
body.t-night .wHeroIn .wTiles{background:rgba(255,255,255,.07)!important;border-color:rgba(255,255,255,.18)!important}

/* 밤 메인: 덜 칙칙하게, 초록 대신 민트 */
body.t-night .card{box-shadow:0 3px 0 rgba(14,16,44,.55),inset 0 1px 0 rgba(255,255,255,.06)}
body.t-night .nextCard{background:linear-gradient(180deg,#355f7a,#2f5470)!important;border-color:#7bcdb6!important;box-shadow:0 3px 0 #1d3550,inset 0 1px 0 rgba(255,255,255,.1)!important}
body.t-night .nextCard .cardHead,body.t-night .nextHead .countdown{color:#a8ecd6!important}
body.t-night .nextTime{color:#d4fff0!important}
body.t-night .etaBox{background:rgba(20,36,60,.45)!important;border-color:#7bcdb6!important}
body.t-night .etaBox span{color:#a9d6d0}
body.t-night .etaBox strong{color:#d4fff0}
body.t-night .sRow:not(.next){background:rgba(255,255,255,.08)!important}
body.t-night .sRow.next{background:rgba(120,214,190,.2)!important;outline:1px solid rgba(123,205,182,.6)!important;color:#d4fff0}
body.t-night .sRow.next .sN,body.t-night .sRow.next .sE{color:#b9f0dc}
body.t-night .sRow.next .radio{background:#7bcdb6!important;border-color:#d4fff0!important}

body.t-night .gear{background:#d8dbf3!important;border-color:#8d94cf!important;box-shadow:0 3px 0 rgba(14,16,44,.55),inset 0 1px 0 rgba(255,255,255,.06)!important}
body.t-night #walkerIcon .px{filter:hue-rotate(40deg) brightness(1.9) saturate(.8)!important}

/* 아침·낮·저녁 글라스: 강한 블러 + 시간대 색 */
.wHeroIn .wTiles{-webkit-backdrop-filter:blur(10px) saturate(1.3);backdrop-filter:blur(10px) saturate(1.3)!important}
body.t-morning .wHeroIn .wTiles{background:rgba(40,90,160,.26)!important;border-color:rgba(255,255,255,.5)!important}
body.t-day .wHeroIn .wTiles{background:rgba(24,80,170,.26)!important;border-color:rgba(255,255,255,.5)!important}
body.t-sunset .wHeroIn .wTiles{background:rgba(96,60,130,.26)!important;border-color:rgba(255,255,255,.45)!important}
body.t-morning .wHeroIn .wTiles,body.t-day .wHeroIn .wTiles,body.t-sunset .wHeroIn .wTiles{background:rgba(255,255,255,.2)!important;border-color:rgba(255,255,255,.55)!important}

/* 날짜 글씨: 픽셀 외곽선 */
.pill,.pill *{text-shadow:1px 0 0 rgba(22,26,56,.8),-1px 0 0 rgba(22,26,56,.8),0 1px 0 rgba(22,26,56,.8),0 -1px 0 rgba(22,26,56,.8),1px 1px 0 rgba(22,26,56,.6),-1px 1px 0 rgba(22,26,56,.6),0 2px 4px rgba(10,14,40,.45)!important}

/* 상단 날짜 영역: 시간대 색 그라데이션 */
.hero::before{content:"";position:absolute;left:0;right:0;top:0;height:62px;z-index:4;pointer-events:none;background:linear-gradient(180deg,rgba(30,52,100,.5),rgba(30,52,100,.2) 55%,rgba(30,52,100,0))}
body.t-sunset .hero::before{background:linear-gradient(180deg,rgba(80,48,112,.48),rgba(80,48,112,.2) 55%,rgba(80,48,112,0))}
body.t-night .hero::before{background:linear-gradient(180deg,rgba(6,10,38,.5),rgba(6,10,38,.2) 55%,rgba(6,10,38,0))}

/* ===== 메인 B-2 ===== */
.nowCard.combo{display:grid!important;grid-template-columns:1fr auto;align-items:stretch;padding:0!important;margin-top:0;border-radius:14px!important;background:rgba(255,253,247,.55)!important;border:1px solid rgba(255,255,255,.75)!important;-webkit-backdrop-filter:blur(10px) saturate(1.2)!important;backdrop-filter:blur(10px) saturate(1.2)!important;box-shadow:0 2px 10px rgba(40,30,20,.08)!important;overflow:hidden!important}
.nowCard.combo::before{display:none!important}
.combo .wxBar{margin:0!important;padding:10px 26px 10px 14px!important;border:0!important;border-bottom:0!important;position:relative;color:var(--text)!important;transition:background .12s}
.combo .wxBar:active{transform:none;background:rgba(120,100,70,.08)}
.combo .wxBar .chev{right:8px!important;font-size:18px;color:var(--sub)}
.combo .wxLine1,.combo .wxLine2{color:var(--text)!important;padding-right:0}
.combo .nowInner{display:flex!important;flex-direction:column;align-items:flex-end;justify-content:center;gap:2px;padding:8px 14px!important;border-left:1px solid var(--line);color:var(--text)!important}
.combo .nowTitle{font-size:11px!important;font-weight:400!important;color:var(--sub)!important;gap:0}
.combo #walkerIcon{display:none}
.combo .clock{font-size:clamp(20px,6vw,24px)!important;color:var(--text)!important;margin:0!important}
body.t-night .nowCard.combo{background:rgba(20,24,60,.45)!important;border-color:rgba(255,255,255,.22)!important}
body.t-night .combo .nowInner{border-left-color:rgba(255,255,255,.25)}
body.t-night .combo .wxBar:active{background:rgba(255,255,255,.06)}
/* 다음 신호 */
.nextCard .cardHead.nextHead{margin-bottom:4px!important;font-size:13px!important}
.nextCard .nextTime{font-size:clamp(38px,11.5vw,46px)!important;line-height:1!important;margin:2px 0 0}
.sigBar{height:7px;margin:10px 0 7px;border-radius:4px;background:rgba(92,192,74,.2);overflow:hidden}
.sigBar i{display:block;height:100%;width:0;background:#5cc04a;border-radius:4px;transition:width .8s linear}
.nextFoot{display:flex;align-items:center;justify-content:space-between}
.cdPill{display:inline-block;padding:2px 9px;border-radius:8px;background:#5cc04a;color:#fff;font-size:13px;font-weight:700;margin:0!important}
.etaL{font-size:13px;color:var(--sub)}.etaL b{font-size:17px;color:var(--greenD);margin-left:3px}
.nextBody[hidden]{display:none!important}
body.t-night .sigBar{background:rgba(255,255,255,.14)}body.t-night .sigBar i{background:#7bcdb6}
body.t-night .cdPill{background:#7bcdb6;color:#16304a}
body.t-night .etaL{color:#a9d6d0}body.t-night .etaL b{color:#d4fff0}
/* 신호 흐름: 가볍게 */
.timeline{gap:0!important}
.sRow{background:transparent!important;outline:0!important;border-radius:0!important;min-height:0!important;padding:8px 2px!important;border-top:1px dashed var(--line);grid-template-columns:0 auto 1fr auto!important}
.sRow:first-child{border-top:0}
.sRow .radio{visibility:hidden;width:0!important;border:0!important}
.sRow.past{opacity:.45}
.sRow.next .sT,.sRow.next .sN,.sRow.next .sE{color:var(--greenD)!important;font-weight:700}
body.t-night .sRow{background:transparent!important;outline:0!important}
body.t-night .sRow.next .sT,body.t-night .sRow.next .sN,body.t-night .sRow.next .sE{color:#b9f0dc!important}
.nowCard.combo{grid-template-columns:minmax(0,1fr) auto!important}
.combo .wxBar{min-width:0}
.combo .nowInner{padding:8px 14px 8px 12px!important;min-width:max-content}
.combo .clock{letter-spacing:0!important}
body.t-night .sRow:not(.next),body.t-night .sRow.next,.sRow:not(.next),.sRow.next{background:transparent!important;outline:0!important}
.combo .wxLine1,.combo .wxLine2{gap:6px!important}
.combo .wxLine1 .px,.combo .wxLine2 .px,.combo .wxLine1 svg,.combo .wxLine2 svg{flex-shrink:0}
.combo .wxLine1{font-size:13px!important}
.combo .wxLine2{font-size:13px!important;font-weight:400!important}
.combo .wxBar{padding:9px 22px 9px 12px!important}
.combo .wxBar .chev{right:6px!important}
.combo .nowInner{padding:8px 12px 8px 10px!important}
.combo .clock{font-size:clamp(19px,5.6vw,22px)!important}
.sigBar{display:none!important}
.nextFoot{margin-top:10px}
.nextCard .cardHead.nextHead{display:flex!important;align-items:center;gap:0;margin-bottom:6px!important}
.nextHead .cdPill{margin-left:8px!important;font-size:12px;padding:2px 7px;line-height:1.2}
.nextRow{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.nextRow .nextTime{margin:0!important}
.nextCard .nextTime{font-size:clamp(32px,9.4vw,38px)!important}
.combo .nowInner{border-left:0!important;position:relative}
.combo .nowInner::before{content:"";position:absolute;left:0;top:24%;bottom:24%;width:1px;background:var(--line)}
body.t-night .combo .nowInner::before{background:rgba(255,255,255,.25)}
#nextDir{margin-left:5px}
.nextCard .cardHead.nextHead{line-height:20px!important;margin-bottom:10px!important}
.nextHead .cdPill{display:inline-flex;align-items:center;height:20px;padding:0 7px!important;line-height:1!important;position:relative;top:0}
.etaL{color:var(--green)!important}.etaL b{color:var(--greenD)!important}
body.t-night .etaL{color:#a8ecd6!important}body.t-night .etaL b{color:#d4fff0!important}
.nextHead .cdPill{margin-left:auto!important;height:24px!important;padding:0 10px!important;font-size:13px!important;background:rgba(92,192,74,.18)!important;color:var(--greenD)!important;box-shadow:inset 0 0 0 1px rgba(92,192,74,.45)}
body.t-night .nextHead .cdPill{background:rgba(123,205,182,.16)!important;color:#d4fff0!important;box-shadow:inset 0 0 0 1px rgba(123,205,182,.55)}
.nowCard.combo{grid-template-columns:auto minmax(0,1fr)!important}.combo .nowInner{order:-1;align-items:flex-start!important;gap:5px!important}.combo .nowInner::before{left:auto!important;right:0;top:15%!important;bottom:15%!important}.combo .wxBar{padding-left:16px!important}.combo .nowTitle{position:relative;top:-2px}
.combo .nowInner{padding-left:19px!important;padding-right:17px!important}.combo .wxBar{padding-left:13px!important;padding-right:22px!important}.combo .wxBar{padding-left:7px!important;padding-right:24px!important}.combo .wxLine1,.combo .wxLine2{gap:4px!important}@media (max-width:385px){.combo .nowInner{padding-left:16px!important;padding-right:13px!important}.combo .wxBar{padding-left:6px!important;padding-right:22px!important}.combo .clock{font-size:21px!important}}
.wTiles i{text-shadow:0 1px 2px rgba(10,16,40,.35)!important;font-weight:600!important}.wTiles b{text-shadow:0 1px 2px rgba(10,16,40,.4)!important}
body.t-dawn{--page:#26387a;--page2:#182a5e}
body.t-dawn,body.t-dawn .wScreen{--card:#33468a;--cardHi:#3b4f94;--line:#5a6db0}
body.t-dawn .nowCard.combo{background:rgba(20,34,84,.45)!important}
body.t-daybreak{--page:#ece3ea;--page2:#cbbfd3;--line:#dccfe6;--lineD:#b8a6cf}
#themeMenu.tsl{width:min(360px,calc(100vw - 24px));min-width:0;right:12px;padding:12px 14px 12px;touch-action:none}
.tslRow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 2px 12px}
.tslRow b{font-size:14px;color:var(--text)}.tslRow small{display:block;font-size:11px;color:var(--sub);margin-top:3px}
.tslTg{flex:none;width:44px!important;height:26px;padding:0!important;border-radius:13px!important;background:#cfd2c6!important;position:relative;transition:background .15s}
.tslTg.on{background:#5cc04a!important}.tslTg i{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:left .15s}
.tslTg.on i{left:21px}
.tslTrk{position:relative;display:flex;height:42px;border-radius:12px;background:rgba(120,100,70,.08);border:1.5px solid var(--line);cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none}
.tslTrk span{flex:1;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;pointer-events:none}
.tslThumb{position:absolute;top:-4px;bottom:-4px;width:calc(100% / 6);border-radius:12px;background:var(--card);border:2px solid var(--brown);box-shadow:0 3px 0 rgba(58,36,24,.25);z-index:0}
.tsl.drag .tslThumb{box-shadow:0 5px 10px rgba(58,36,24,.3)}
.tslLb,.tslTm{display:flex}.tslLb{margin-top:9px}.tslLb em,.tslTm em{flex:1;text-align:center;font-style:normal}
.tslLb em{font-size:12px;color:var(--sub);cursor:pointer}.tslLb em.on{color:var(--text);font-weight:700}
.tslTm{margin-top:2px}.tslTm[hidden]{display:none}.tslTm em{font-size:10px;color:var(--sub);opacity:.85}
.tsl.manual .tslTrk{border-color:var(--greenLine)}
body.t-night #themeMenu.tsl{background:#d8dbf3;border-color:#8d94cf;box-shadow:0 4px 0 rgba(14,16,44,.45);--text:#2d3360;--sub:#5d6294;--line:#a9aedc;--brown:#6c73b8;--card:#f4f5fd}
body.t-night .tslTrk{background:rgba(45,51,96,.07)}body.t-night .tslThumb{box-shadow:0 3px 0 rgba(45,51,96,.25)}
body.t-night .tslTg{background:#b6badf!important}body.t-night .tslTg.on{background:#5fb8a0!important}
body.t-night .tsl.manual .tslTrk{border-color:#7bcdb6}
.tslTrk,.tsl.manual .tslTrk{border:1.5px solid var(--brown)!important}
body.t-night .tslTrk,body.t-night .tsl.manual .tslTrk{border-color:#8d94cf!important}
/* 메인: 화면 여유가 있으면 배경 위쪽을 더 보여줌 */
body .hero{--heroX:clamp(0px,calc(100vh - 760px),64px);--heroH:calc(var(--u)*0.89 + env(safe-area-inset-top) + var(--heroX))}
@supports (height:100dvh){body .hero{--heroX:clamp(0px,calc(100dvh - 760px),64px)}}
/* 날씨탭 헤더 여유 */
.wHero{height:calc(env(safe-area-inset-top) + 300px)!important}
.wHeroIn{padding-bottom:12px!important}
.wHeroIn .curCond{margin-top:12px!important}
.wHeroIn .curSub{margin-top:9px!important}
.wHeroIn .wTiles{margin-top:24px!important}
/* 날씨탭 우산 아이콘: 어두운 배경에서도 보이게 밝은 색 + 흰 손잡이 */
#curRain{display:inline-flex;align-items:center;gap:3px}
#curRain .px{width:16px!important;height:16px!important;position:relative;left:-2px;top:-1px}
/* 더블탭 확대 막기 */
html,body{touch-action:manipulation}
button,a,.hero,.card,.wxBar{touch-action:manipulation}
body:not(.t-night) .nextCard{border-color:#a9d58a!important;box-shadow:0 2px 0 rgba(63,143,47,.14)!important}

@property --page{syntax:"<color>";inherits:true;initial-value:#efe3c8}
@property --page2{syntax:"<color>";inherits:true;initial-value:#cfc2a6}
@property --line{syntax:"<color>";inherits:true;initial-value:#e6d3a8}
@property --lineD{syntax:"<color>";inherits:true;initial-value:#cdb07a}
@property --card{syntax:"<color>";inherits:true;initial-value:#fffaf0}
@property --cardHi{syntax:"<color>";inherits:true;initial-value:#fffdf7}
@property --sub{syntax:"<color>";inherits:true;initial-value:#8a7a68}
@property --text{syntax:"<color>";inherits:true;initial-value:#2a211b}
@property --onPage{syntax:"<color>";inherits:true;initial-value:#2a211b}
.lateInfo .warn.show svg{position:relative;top:-2px}
.heroLeft{flex-direction:row!important;align-items:center!important;gap:6px!important}
.modeSeg{position:absolute;right:12px;bottom:calc(100% + 10px);z-index:4;display:flex;align-items:center;padding:2px;border-radius:999px;cursor:pointer;-webkit-tap-highlight-color:transparent;
  background:rgba(28,26,44,.5);box-shadow:0 2px 6px rgba(20,18,40,.2)}
.modeSeg button{position:relative;z-index:1;pointer-events:none;font-family:inherit;font-size:11px;font-weight:400;line-height:1;height:21px;width:37px;padding:0;border:0;background:none;color:rgba(255,255,255,.85);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .25s}
.modeSeg button.on{color:#2a211b}
.modeSeg .segKnob{position:absolute;top:2px;left:2px;height:21px;width:37px;border-radius:999px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .25s ease}
.modeSeg[data-m=out] .segKnob{transform:translateX(37px)!important}
.modeSeg .segAuto{display:none!important}
.modeSeg button span{position:relative}
.modeSeg button.now:not(.on) span::after{content:'';position:absolute;top:0;right:-4px;width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.9)}

body.t-night .modeSeg{background:rgba(14,16,44,.5)}
body.t-night .modeSeg .segKnob{background:#d8dbf3}
body.t-night .modeSeg button.on{color:#2d3360}
.nextHead .cdPill{padding-top:2px!important}

.wScreen.open{animation:wIn .24s ease-out}
@keyframes wIn{from{transform:translateX(100%)}to{transform:none}}
.combo .wxLine1>:first-child,.combo .wxLine2>:first-child{margin-right:3px;width:22px!important;flex:0 0 22px;display:inline-flex;justify-content:center}
.combo .wxBar{padding-left:4px!important}
.combo .wxOutfit{position:relative;top:1px}
.chips span{padding:4px 7px 2px 9px!important}
#shirtIcon{position:relative;top:-1px}
.invDiv{height:1px;background:var(--line);margin:9px 0;opacity:.8}
.invSlots{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.invSlot{position:relative;aspect-ratio:930/905;display:flex;align-items:center;justify-content:center;background:var(--invSlot) center/100% 100% no-repeat}
.invSlot::after{content:"";position:absolute;left:50%;bottom:12.5%;width:50%;height:10%;margin-left:-25%;background:var(--invShadow) center/100% 100% no-repeat;z-index:0}
.invSlot.empty::after{display:none}
.invSlot img{position:relative;z-index:1;width:60%;height:60%;object-fit:contain;image-rendering:auto;transform:translateY(4%)}
.bubbleText{word-break:keep-all}
/* 퇴근 모드: 다음 신호 카드는 시간대 배경에 어우러지는 차분한 색 (아침·낮 노랑 / 저녁 살구 / 여명 회보라 / 밤 페리윙클 / 새벽 파랑) */
html.modeOut body.t-morning .card.nextCard{background:linear-gradient(180deg,#fdf8e8,#f8efd5)!important;border-color:#e2cf98!important;box-shadow:0 3px 0 rgba(170,140,60,.13)!important}
html.modeOut body.t-morning .card.nextCard .cardHead,html.modeOut body.t-morning .card.nextCard .cardHead *:not(.cdPill){color:#a5863d!important}
html.modeOut body.t-morning .card.nextCard .nextTime,html.modeOut body.t-morning .card.nextCard .etaL,html.modeOut body.t-morning .card.nextCard .etaL b{color:#8a6d27!important}
html.modeOut body.t-morning .card.nextCard .cdPill{color:#8a6d27!important;background:rgba(220,190,110,.18)!important;box-shadow:inset 0 0 0 1px rgba(200,170,90,.45)!important}
html.modeOut body.t-morning .card.nextCard .sigBar i{background:#e2cf98!important}
html.modeOut body.t-morning .sRow.next.sRow .sT,html.modeOut body.t-morning .sRow.next.sRow .sN,html.modeOut body.t-morning .sRow.next.sRow .sE{color:#8a6d27!important}
html.modeOut body.t-day .card.nextCard{background:linear-gradient(180deg,#fef9e5,#faf0cd)!important;border-color:#e5cc86!important;box-shadow:0 3px 0 rgba(175,140,45,.14)!important}
html.modeOut body.t-day .card.nextCard .cardHead,html.modeOut body.t-day .card.nextCard .cardHead *:not(.cdPill){color:#a5832a!important}
html.modeOut body.t-day .card.nextCard .nextTime,html.modeOut body.t-day .card.nextCard .etaL,html.modeOut body.t-day .card.nextCard .etaL b{color:#8a6b18!important}
html.modeOut body.t-day .card.nextCard .cdPill{color:#8a6b18!important;background:rgba(228,192,100,.2)!important;box-shadow:inset 0 0 0 1px rgba(210,172,75,.48)!important}
html.modeOut body.t-day .card.nextCard .sigBar i{background:#e5cc86!important}
html.modeOut body.t-day .sRow.next.sRow .sT,html.modeOut body.t-day .sRow.next.sRow .sN,html.modeOut body.t-day .sRow.next.sRow .sE{color:#8a6b18!important}
html.modeOut body.t-sunset:not(.t-daybreak) .card.nextCard{background:linear-gradient(180deg,#fbefe7,#f6e1d5)!important;border-color:#e2b8a2!important;box-shadow:0 3px 0 rgba(170,100,70,.13)!important}
html.modeOut body.t-sunset:not(.t-daybreak) .card.nextCard .cardHead,html.modeOut body.t-sunset:not(.t-daybreak) .card.nextCard .cardHead *:not(.cdPill){color:#b46f58!important}
html.modeOut body.t-sunset:not(.t-daybreak) .card.nextCard .nextTime,html.modeOut body.t-sunset:not(.t-daybreak) .card.nextCard .etaL,html.modeOut body.t-sunset:not(.t-daybreak) .card.nextCard .etaL b{color:#9a5944!important}
html.modeOut body.t-sunset:not(.t-daybreak) .card.nextCard .cdPill{color:#9a5944!important;background:rgba(210,140,110,.15)!important;box-shadow:inset 0 0 0 1px rgba(200,130,100,.42)!important}
html.modeOut body.t-sunset:not(.t-daybreak) .card.nextCard .sigBar i{background:#e2b8a2!important}
html.modeOut body.t-sunset:not(.t-daybreak) .sRow.next.sRow .sT,html.modeOut body.t-sunset:not(.t-daybreak) .sRow.next.sRow .sN,html.modeOut body.t-sunset:not(.t-daybreak) .sRow.next.sRow .sE{color:#9a5944!important}
html.modeOut body.t-sunset.t-daybreak .card.nextCard{background:linear-gradient(180deg,#f4eef6,#eae1ef)!important;border-color:#c9b6d9!important;box-shadow:0 3px 0 rgba(120,90,150,.12)!important}
html.modeOut body.t-sunset.t-daybreak .card.nextCard .cardHead,html.modeOut body.t-sunset.t-daybreak .card.nextCard .cardHead *:not(.cdPill){color:#8a6ca4!important}
html.modeOut body.t-sunset.t-daybreak .card.nextCard .nextTime,html.modeOut body.t-sunset.t-daybreak .card.nextCard .etaL,html.modeOut body.t-sunset.t-daybreak .card.nextCard .etaL b{color:#73588f!important}
html.modeOut body.t-sunset.t-daybreak .card.nextCard .cdPill{color:#73588f!important;background:rgba(150,120,180,.14)!important;box-shadow:inset 0 0 0 1px rgba(140,110,170,.4)!important}
html.modeOut body.t-sunset.t-daybreak .card.nextCard .sigBar i{background:#c9b6d9!important}
html.modeOut body.t-sunset.t-daybreak .sRow.next.sRow .sT,html.modeOut body.t-sunset.t-daybreak .sRow.next.sRow .sN,html.modeOut body.t-sunset.t-daybreak .sRow.next.sRow .sE{color:#73588f!important}
html.modeOut body.t-night:not(.t-dawn) .card.nextCard{background:linear-gradient(180deg,#4a58a8,#414e98)!important;border-color:#b4c0ff!important;box-shadow:0 3px 0 #262f6a,inset 0 1px 0 rgba(255,255,255,.08)!important}
html.modeOut body.t-night:not(.t-dawn) .card.nextCard .cardHead,html.modeOut body.t-night:not(.t-dawn) .card.nextCard .cardHead *:not(.cdPill){color:#d6dcff!important}
html.modeOut body.t-night:not(.t-dawn) .card.nextCard .nextTime,html.modeOut body.t-night:not(.t-dawn) .card.nextCard .etaL,html.modeOut body.t-night:not(.t-dawn) .card.nextCard .etaL b{color:#ebeeff!important}
html.modeOut body.t-night:not(.t-dawn) .card.nextCard .cdPill{color:#ebeeff!important;background:rgba(180,192,255,.16)!important;box-shadow:inset 0 0 0 1px rgba(180,192,255,.6)!important}
html.modeOut body.t-night:not(.t-dawn) .card.nextCard .sigBar i{background:#b4c0ff!important}
html.modeOut body.t-night:not(.t-dawn) .sRow.next.sRow .sT,html.modeOut body.t-night:not(.t-dawn) .sRow.next.sRow .sN,html.modeOut body.t-night:not(.t-dawn) .sRow.next.sRow .sE{color:#ebeeff!important}
html.modeOut body.t-night.t-dawn .card.nextCard{background:linear-gradient(180deg,#3d539f,#354a92)!important;border-color:#a9bcff!important;box-shadow:0 3px 0 #1e2c66,inset 0 1px 0 rgba(255,255,255,.08)!important}
html.modeOut body.t-night.t-dawn .card.nextCard .cardHead,html.modeOut body.t-night.t-dawn .card.nextCard .cardHead *:not(.cdPill){color:#d0dbff!important}
html.modeOut body.t-night.t-dawn .card.nextCard .nextTime,html.modeOut body.t-night.t-dawn .card.nextCard .etaL,html.modeOut body.t-night.t-dawn .card.nextCard .etaL b{color:#e9eeff!important}
html.modeOut body.t-night.t-dawn .card.nextCard .cdPill{color:#e9eeff!important;background:rgba(169,188,255,.15)!important;box-shadow:inset 0 0 0 1px rgba(169,188,255,.55)!important}
html.modeOut body.t-night.t-dawn .card.nextCard .sigBar i{background:#a9bcff!important}
html.modeOut body.t-night.t-dawn .sRow.next.sRow .sT,html.modeOut body.t-night.t-dawn .sRow.next.sRow .sN,html.modeOut body.t-night.t-dawn .sRow.next.sRow .sE{color:#e9eeff!important}
/* 날짜 선택 */
.dayTabs{display:block!important;position:relative;overflow:visible!important;padding:0!important}
.dateBtn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:9px 14px;font-size:15px;font-weight:700;color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:10px}
.dateBtn small{font-size:12px;font-weight:400;color:var(--greenD);background:var(--greenBg);border:1px solid var(--greenLine);border-radius:7px;padding:1px 7px;margin-right:8px}
.dateBtn em{font-style:normal;font-size:12px;color:var(--sub)}
.calPop{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:20;padding:12px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px rgba(20,24,50,.28)}
.calHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-weight:700;font-size:15px}
.calHead button{width:32px;height:28px;border:0;background:transparent;font-size:18px;color:var(--text)}
.calHead button:disabled{opacity:.25}
.calGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}
.calGrid i{font-style:normal;font-size:11px;color:var(--sub);padding:2px 0}
.calGrid button{height:34px;border:1px solid transparent;border-radius:8px;background:transparent;font-size:14px;color:var(--text)}
.calGrid button:disabled{color:var(--sub);opacity:.3}
.calGrid button.on{background:var(--greenBg);border-color:var(--greenLine);color:var(--greenD);font-weight:700}
.calGrid button.today{border-color:var(--line)}
.calNote{margin-top:8px;text-align:center;font-size:11px;color:var(--sub)}
/* 옷차림 카드 */
.charPortrait{width:83px;height:104px;background:var(--c0) center/100% 100% no-repeat}


.sitBtn{background:transparent!important;border:0!important;border-style:solid!important;border-width:4px!important;border-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAATCAYAAADiQ08DAAADU0lEQVR4nI1Wu44VRxA9VbOEBJYDPgRhgfbqyqEzPgCJgMxCsiWEI38HEX+AHNqZvRbBAguBCZw4sJDXllcyQhYI9u7una5D0F3d1TOzwEj3zvSjXqdOVbcgPKvdNanE2Tjiws4AM4Oo5jcAEQGNgAhEACOhoiAJCCDIcwAAEoNqGxd5IMuSAGkQURAESOgw4LPNJfz07AfB9Lm2XnG73TKNW5oZUxrLOzGlRLNUv/N4vmZmVTau2eTb91nytWzreHPCw3+PeHW1W6MSAFit13z46x5EFGfblBGTeRCzRwDwY5voZs7fUVAWERiJ3//4B9/cvomD/X2R1XrNh3u/QFTx/5tTqOaNH7Itvlg+SoYX939SDAtBbDanuH79K+jm5ASiA94en2XnPqJKkPlTI2fhZmfsnKAWlBdWFrEsayQOj16BIFR16JRIKQBXJq68vBk2N3RYbUs2V2UcGzIPZj5KSEZZFUiZE6hKMVA01kAiEK44zJGsiguQTb7MLVHFDdcgGOQCUICAJJRkTZmjEp/q6zm55wIqlZNOflePfr7aJRfVmxm0W+EcvOy3dCh1aZ8Yn8Yy0yf9Zw5eZjZZeqzmloIOvZiWnMKJeLehT++0O4k0n4iAmnNvIViSxa6FIomcQkuNK+zsTua8eDqkQ5XMM+IcraZ7rhY9qgM0ikux5FhWQsvcSIccG9ICQEUaCgEl6fZnJ/zYXCIhs67oI8N/0EZvQUEPG8LdG7mP1WBjfmMqvTCm9AkFQzMozQAJm4ITkcTeTGsbQUOsUaMFUnlbIURzOP4CDii2AG9jxA4B0IAxWd8sI0HAWaACgCLNuXaJqSmtLSiW/8RvxnV3FqyBqqrg4PkLbLdjPQWqipqGhpqP+ypv6V86KVxFbFWd3xOhP//6D4BiZ7gAPXj0WL67cwsv/n6JYVCY89B7YqluR8hqjZexZQNmrD3P5aKe6hTZ3REBwNi3stOzEd/evoEn+4+a75e/uMJ79x9AvcXU5unpZUh7u5hKgVDL5VRE8gmgpeXUgmErHkfeWO2oCMZkePvuNb6/+zWeHTwNhCvPavdLJoxIKWXH4DfmMiIzCWK6PVV+9k6qNjurhcolKPWCa0GmlLAzDLh48jl+/u3H6td7aQ9gEkoLsXkAAAAASUVORK5CYII=) 4 fill / 4px stretch!important;border-radius:0!important;box-shadow:none!important;image-rendering:pixelated;padding:2px 5px 1px!important;line-height:1.1!important;font-size:12px!important;color:#2a211b!important;bottom:calc(100% + 2px)!important}.sitBtn::after{display:none!important}

/* Single theme transition system: no page snapshots, forced reflow or queues. */
:root{--theme-duration:900ms}
html.theme-interactive{--theme-duration:280ms}
html.theme-dragging{--theme-duration:180ms}

.stage>.bg,.signal .signalLayer,.weatherBg{
  opacity:0;visibility:hidden;
  transition:none;
  will-change:opacity;
}
.stage>.bg.on,.signal .signalLayer.on,.weatherBg.on{visibility:visible;transition-delay:0s}
html.theme-dragging .stage>.bg,html.theme-dragging .signalLayer,html.theme-dragging .weatherBg{transition:none}
.signal .signalLayer{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.weatherBg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;z-index:0;pointer-events:none}
.wHero::before,.wHero::after{z-index:1;pointer-events:none}
.wHeroIn{z-index:2}
.lamp>img,.lampGlow,.lampPool,.sigGlow,.environmentLight{transition:opacity var(--theme-duration) ease}
.cvSun{transition:opacity var(--theme-duration) ease,transform var(--theme-duration) ease}
.cvGhost{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none;transition:opacity var(--theme-duration) ease}
.char{will-change:transform}
.tslThumb{left:0;will-change:transform;transition:transform 180ms ease-out}

/* Card paint is driven directly by the scene's shared blend weights.
   No inherited color transition or class-specific gradient can lag behind. */
#appBody,#appBody .card,#appBody .wScreen{transition:none!important}
#appBody #weatherScreen{
  --card:inherit;--cardHi:inherit;--line:inherit;--text:inherit;--sub:inherit;
  --greenBg:inherit;--greenLine:inherit;--greenD:inherit;--blue:inherit;--red:inherit;
}
#appBody .card{
  background:var(--card)!important;border-color:var(--line)!important;color:var(--text);
  box-shadow:0 var(--card-shadow-y) 0 var(--card-shadow),inset 0 1px 0 var(--card-inset)!important;
}
#appBody .nowCard.combo{
  background:var(--combo-bg)!important;border-color:var(--combo-border)!important;
  box-shadow:0 2px 10px rgba(40,30,20,.08)!important;
}
#appBody .combo .nowInner::before{background:var(--combo-divider)!important}
#appBody .combo .wxBar{background:transparent!important;transition:none!important}
#appBody .combo .wxBar:active{background:var(--combo-hover)!important}
#appBody .nextCard{
  background:linear-gradient(180deg,var(--next-top),var(--next-bottom))!important;
  border-color:var(--next-border)!important;
  box-shadow:0 var(--next-shadow-y) 0 var(--next-shadow),inset 0 1px 0 var(--next-inset)!important;
}
#appBody .nextCard .cardHead,#appBody .nextCard .cardHead *:not(.cdPill),#appBody .nextCard .etaL{color:var(--next-title)!important}
#appBody .nextCard .nextTime,#appBody .nextCard .etaL b{color:var(--next-text)!important}
#appBody .nextCard .cdPill{
  background:var(--next-cd-bg)!important;color:var(--next-cd-text)!important;
  box-shadow:inset 0 0 0 1px var(--next-cd-outline)!important;
}
#appBody .sRow.next .sT,#appBody .sRow.next .sN,#appBody .sRow.next .sE{color:var(--flow-next)!important}
#appBody .wScreen .card{box-shadow:0 2px 0 var(--weather-card-shadow)!important}
#appBody .wScreen .bubble,#appBody .wScreen .outfitBox .bubble::after{background:var(--bubble-bg)!important}
#appBody .wScreen .chips span{background:var(--chips-bg)!important}
#appBody .calPop{box-shadow:0 10px 28px var(--calendar-shadow)!important}
#appBody .wHeroIn .wTiles{background:var(--tile-bg)!important;border-color:var(--tile-border)!important}
#appBody .wHero::before{background:linear-gradient(180deg,var(--hero-tint-top),var(--hero-tint-bottom))!important}
#appBody .hero::before{background:linear-gradient(180deg,var(--header-tint-top),var(--header-tint-middle) 55%,transparent)!important}
#appBody .gear{
  background:var(--gear-bg)!important;border-color:var(--gear-border)!important;
  box-shadow:0 var(--gear-shadow-y) 0 var(--gear-shadow),inset 0 1px 0 var(--gear-inset)!important;
}
#appBody #themeMenu.tsl{
  --text:var(--menu-text);--sub:var(--menu-sub);--line:var(--menu-line);
  --brown:var(--menu-brown);--card:var(--menu-card);
  background:var(--menu-bg)!important;border-color:var(--menu-brown)!important;
  box-shadow:0 4px 0 var(--menu-shadow)!important;
}
#appBody .tslTrk,#appBody .tsl.manual .tslTrk{background:var(--track-bg)!important;border-color:var(--menu-brown)!important}
#appBody .tslThumb{background:var(--menu-card)!important;border-color:var(--menu-brown)!important;box-shadow:0 3px 0 var(--menu-shadow)!important}
#appBody .tslTg{background:var(--toggle-off)!important;transition:none!important}
#appBody .tslTg.on{background:var(--toggle-on)!important}
#appBody .modeSeg{background:var(--mode-bg)!important}
#appBody .modeSeg .segKnob{background:var(--mode-knob)!important}
#appBody .modeSeg button{transition:none!important}
#appBody .modeSeg button.on{color:var(--mode-text)!important}
#appBody .invSlot{background-image:url(a/1a4220f193.png)!important}
#appBody .invSlot::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:url(a/44f5736cb9.png) center/100% 100% no-repeat;
  opacity:var(--night-weight);transition:none;
}
@media(prefers-reduced-motion:reduce){
  html.theme-ready *,html.theme-ready *::before,html.theme-ready *::after{transition:none!important}
}
