*{box-sizing:border-box}body{margin:0;background:#f7f5fb;color:#191522;font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif}.shell{width:min(100%,520px);margin:auto;padding:28px 18px}header,.location,.heroTop,.sectionHead,.update,.dialogHead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.brand,.eyebrow{margin:0;color:#24184f;font-size:11px;font-weight:900;letter-spacing:.14em}h1{margin:6px 0 0;font-size:36px;letter-spacing:-.05em}h2{margin:5px 0 0}.sub,.location span,#updatedAt{color:#777281;font-size:11px}.icon{width:42px;height:42px;border:1px solid #e8e3ef;border-radius:14px;background:#fff}.location{align-items:center;padding:16px;margin-bottom:12px;border-radius:20px;background:#eeeaf8}.location strong,.location span{display:block;margin-top:4px}.mini,.primary,.update button{border:0;background:#24184f;color:#fff;font-weight:850}.mini{padding:10px 12px;border-radius:12px}.hero,.forecast,.notice{background:#fff;border:1px solid #e8e3ef;border-radius:27px;box-shadow:0 14px 34px rgba(36,24,79,.08)}.hero,.forecast{padding:22px}.weatherText{margin:0;color:#24184f;font-weight:900}.temp{display:flex;align-items:flex-end;gap:10px}.temp strong{font-size:56px}.temp span{padding-bottom:8px;color:#777281;font-size:12px}.weatherIcon{font-size:50px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:18px}.metrics div{padding:11px 5px;border-radius:14px;background:#faf9fc;text-align:center}.metrics span{display:block;color:#777281;font-size:10px}.metrics strong{display:block;margin-top:5px;font-size:13px}.condition{margin-top:16px;padding:15px;border-radius:18px;background:#eeeaf8}.condition span{font-size:9px;color:#777281;font-weight:900}.condition strong{display:block;margin-top:5px;color:#24184f;font-size:18px}.condition p,.notice p,.copy,.privacy p{color:#777281;font-size:11px;line-height:1.55}.forecast,.notice{margin-top:12px}.hourly{display:grid;grid-template-columns:repeat(6,minmax(68px,1fr));gap:7px;margin-top:16px;overflow-x:auto}.hour{min-width:68px;padding:12px 7px;border:1px solid #e8e3ef;border-radius:16px;text-align:center}.hour.now{background:#eeeaf8}.hour time,.hour small{display:block;color:#777281;font-size:9px}.hour .ico{display:block;margin:6px;font-size:21px}.placeholder{grid-column:1/-1;padding:20px;color:#777281;font-size:12px;text-align:center}.notice{padding:16px}.install{width:100%;margin-top:12px;padding:15px;border:1px solid #24184f;border-radius:16px;background:transparent;color:#24184f;font-weight:850}.loading{padding:14px;margin-bottom:12px;border-radius:15px;background:#fff}.update{margin-top:12px;padding:13px;border:1px solid #24184f;border-radius:16px;background:#fff}.update[hidden]{display:none}.update span{display:block;color:#777281;font-size:10px}.update button{padding:9px;border-radius:10px}footer{text-align:center;color:#777281;font-size:10px;line-height:1.7;padding:26px 8px}footer a{color:#24184f;font-weight:800;text-decoration:none}dialog{width:min(calc(100% - 28px),470px);border:0;border-radius:26px;padding:0}dialog::backdrop{background:rgba(16,12,28,.5)}.dialog{padding:23px}.dialog label span,.saved span,.saved small{display:block;font-size:10px;color:#777281}.dialog input{width:100%;padding:13px;border:1px solid #e8e3ef;border-radius:13px;margin:6px 0 10px}.primary,.secondary{width:100%;min-height:48px;border-radius:14px;font-weight:850}.secondary{margin-top:8px;border:1px solid #24184f;background:#fff;color:#24184f}.secondary:disabled,.text:disabled{opacity:.35}.saved,.privacy{margin-top:13px;padding:13px;border-radius:14px;background:#faf9fc}.saved strong{display:block;margin:4px 0}.text{width:100%;border:0;background:none;padding:10px;color:#777281}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,15px);background:#18131f;color:#fff;padding:11px 15px;border-radius:999px;font-size:12px;opacity:0;transition:.18s;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:390px){.metrics{grid-template-columns:repeat(2,1fr)}}
.mini{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-width:112px;
  min-height:42px;
  white-space:nowrap;
  line-height:1;
  flex:0 0 auto;
}
.miniIcon{
  display:inline-block;
  font-size:14px;
  line-height:1;
}
.miniLabel{
  display:inline-block;
  white-space:nowrap;
  line-height:1;
}
.location button{
  flex:0 0 auto;
}

/* 0.6 - 현재 위치 버튼을 명확한 활성 버튼으로 표시 */
.mini{
  background:#24184f !important;
  color:#fff !important;
  border:1px solid #24184f !important;
  box-shadow:0 7px 16px rgba(36,24,79,.22);
  opacity:1 !important;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.mini:hover{filter:brightness(1.06)}
.mini:active{
  transform:translateY(1px);
  box-shadow:0 3px 9px rgba(36,24,79,.18);
}
.mini:focus-visible{
  outline:3px solid rgba(36,24,79,.18);
  outline-offset:2px;
}
.mini.refreshing .miniIcon{
  animation:caddieSpin .8s linear infinite;
}
@keyframes caddieSpin{
  to{transform:rotate(360deg)}
}

/* 홈 화면 추가 안내 */
.installGuideBody{
  margin:14px 0 16px;
  padding:16px;
  border-radius:16px;
  background:#faf9fc;
  color:#4f4a58;
  font-size:13px;
  line-height:1.65;
}
.installGuideBody strong{
  color:#24184f;
}
.installGuideBody ol{
  margin:8px 0 0;
  padding-left:20px;
}
.installGuideBody li+li{
  margin-top:7px;
}
.installGuideHint{
  margin-top:12px;
  color:#777281;
  font-size:11px;
}
#nativeInstallBtn[hidden]{display:none}


/* 0.7 - '현재 위치' 버튼을 더 밝고 또렷하게 */
.location .mini{
  background:linear-gradient(135deg,#6a49ff 0%, #4f7cff 100%) !important;
  color:#ffffff !important;
  border:0 !important;
  box-shadow:0 8px 18px rgba(79,124,255,.28) !important;
  opacity:1 !important;
  font-weight:900;
}
.location .mini .miniIcon,
.location .mini .miniLabel{
  color:#ffffff !important;
}
.location .mini:hover{
  filter:brightness(1.04);
}
.location .mini:active{
  transform:translateY(1px);
  box-shadow:0 4px 10px rgba(79,124,255,.24) !important;
}
.location .mini[aria-busy="true"]{
  filter:brightness(0.98);
}

/* 설치 버튼도 조금 더 명확하게 */
.install{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.install::before{
  content:"⊕";
  font-size:14px;
  line-height:1;
}
