/* UI-앱안알림(2026-11-01 명진 결정 A1~A6): 화면 맨 위 알림 줄 하나. 자리 주인은 notice-bar.js 하나이고,
   업데이트 안내(version-notice.js)·연결 끊김·수집 멈춤 같은 손님이 줄 하나(.kptu-notice-line)씩 맡긴다. 한 번에 한 줄만 보인다.
   HOME-모바일정리①(2026-10-22 시안 승인) 모양 그대로: PC·폰 같은 모양, 보이는 높이 --ds-compact-height(32px),
   버튼은 글자 버튼(UI-버튼기준), 누르는 범위는 ::after로 --kptu-touch-target(44px).
   줄이 떠 있는 동안 본문은 그 높이만큼 아래로 내려가 가리지 않는다(--kptu-notice-bar-height, notice-bar.js가 잰다). */
#noticeBar{position:fixed;z-index:60;top:0;left:0;right:0}
.kptu-notice-line{box-sizing:border-box;display:flex;align-items:center;gap:6px;min-height:var(--ds-compact-height,32px);padding:0 max(8px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));border-bottom:1px solid var(--kptu-border);background:var(--kptu-primary-soft);color:var(--kptu-ink);font-size:var(--ds-text-meta,12px);line-height:1.4}
.kptu-notice-line[hidden]{display:none}
/* UI-앱안알림 2단계: 손봐야 하는 문제(연결 끊김·수집 멈춤)는 옅은 주황 바탕 한 줄. 빨간 배지·종 모양 없음. */
.kptu-notice-line[data-tone="warn"]{background:var(--kptu-warning-soft);border-bottom-color:color-mix(in srgb,var(--kptu-warning) 25%,var(--kptu-border))}
.kptu-notice-line[data-tone="warn"] .kptu-notice-line-icon{stroke:var(--kptu-warning)}
.kptu-notice-line[data-tone="warn"]>.kptu-notice-line-action{color:var(--kptu-warning)}
.kptu-notice-line-icon{flex:0 0 auto;width:14px;height:14px;fill:none;stroke:var(--kptu-primary-ink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.kptu-notice-line>span{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kptu-notice-line>button{position:relative;flex:0 0 auto;box-sizing:border-box;height:var(--ds-compact-height-sm,28px);min-height:0;margin:0;padding:0 6px;border:0;border-radius:var(--kptu-radius-sm);background:transparent;font:inherit;font-size:var(--ds-text-meta,12px);cursor:pointer}
.kptu-notice-line>button::after{content:"";position:absolute;left:0;right:0;top:calc(50% - var(--kptu-touch-target,44px) / 2);height:var(--kptu-touch-target,44px)}
.kptu-notice-line>.kptu-notice-line-action{color:var(--kptu-primary-ink);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.kptu-notice-line>.kptu-notice-bar-count{padding:0 4px;color:var(--kptu-muted);font-size:11px;font-variant-numeric:tabular-nums}
.kptu-notice-line>.kptu-notice-line-close{margin-left:auto;min-width:var(--ds-compact-height-sm,28px);color:var(--kptu-muted)}
.kptu-notice-line>button:hover{background:var(--kptu-surface)}
.kptu-notice-line>button:focus-visible{outline:2px solid var(--kptu-primary-ink);outline-offset:-2px}
body.kptu-notice-bar-open{padding-top:var(--kptu-notice-bar-height,33px)}
@media (min-width:761px){
  /* PC 칸 높이 계산(상단 줄 자리)과 붙어 있는 사이드바가 알림 줄 높이만큼 비켜선다. */
  body.kptu-notice-bar-open #appView{--kptu-topline-space:calc(var(--kptu-topline-height) + var(--kptu-topline-gap) + var(--kptu-notice-bar-height,33px))}
  body.kptu-notice-bar-open #appView>.app-nav{top:calc(12px + var(--kptu-notice-bar-height,33px));height:calc(100dvh - 24px - var(--kptu-notice-bar-height,33px))}
}
/* UI-앱안알림 3단계(A4): '나한테 온 요청'이 1건 이상이면 메뉴 '홈' 표시. 값은 home-asks.js가 #appView에 둔다(data-home-asks, --kptu-home-asks).
   빨간 배지·종 모양 없음 — 홈 요약 줄의 '나한테 온 요청'과 같은 톤다운 주목색(--kptu-warning). */
@media (max-width:760px){
  /* 폰(폴드 접음): 하단바 '홈' 그림 오른쪽 위 작은 점, 숫자 없음. */
  #appView[data-home-asks]>.mobile-tabs>button[data-view="home"]{position:relative}
  #appView[data-home-asks]>.mobile-tabs>button[data-view="home"]::after{content:"";position:absolute;top:7px;left:calc(50% + 9px);width:6px;height:6px;border-radius:50%;background:var(--kptu-warning);pointer-events:none}
}
@media (min-width:761px){
  /* 폴드 펼침·PC: 왼쪽 메뉴 맨 위 '홈' 줄 옆 옅은 숫자(글자, 배지 아님). */
  #appView[data-home-asks]>.app-nav .sidebar-brand::after{content:var(--kptu-home-asks,"");margin-left:auto;padding-left:6px;color:var(--kptu-warning);font-size:11px;font-weight:400;font-variant-numeric:tabular-nums}
}
