/* 공개 전 점검에서 추가한 화면들의 스타일(신고·안내·관리 줄·합치기·자리 현황·음악 안내·서버 바쁨·가벼운 화면·상태 페이지).
   색은 테마 변수(var(--...))를 쓰고 기본값을 둬서 시각 담당이 팔레트를 바꿔도 어울린다. 터치 대상은 44px 이상. */
.busy-note{position:fixed;left:50%;bottom:calc(88px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:9000;max-width:min(92vw,520px);display:flex;gap:12px;align-items:center;padding:10px 14px;border-radius:14px;background:var(--hud-surface,rgba(27,37,82,.92));color:var(--hud-text,#f4f1fa);border:1px solid var(--hud-edge,rgba(183,168,230,.55));font-size:14px;line-height:1.55;box-shadow:0 6px 24px rgba(0,0,0,.28)}
.busy-note[hidden]{display:none}
.busy-note button{min-height:44px;min-width:44px;padding:0 12px;border-radius:10px;border:1px solid currentColor;background:transparent;color:inherit;font:inherit}
.safety-hint{margin:8px 0 0;font-size:12px;line-height:1.7;color:var(--muted,#5f688f)}
label>.safety-hint{font-weight:400}
.report-link{min-height:44px;min-width:56px;padding:0 12px;border-radius:10px;white-space:nowrap;flex:0 0 auto;font:inherit;font-size:12px;cursor:pointer}
.report-link:hover,.report-link:focus-visible{color:var(--ink,#1f2a4d)}
.hidden-note{margin:6px 0;padding:8px 10px;border-radius:8px;background:var(--edge,#d3d0ec);color:var(--ink,#1f2a4d);font-size:12px;line-height:1.65}
.report-dialog{border:1px solid var(--edge,#d3d0ec);border-radius:16px;padding:20px;max-width:min(92vw,420px);background:var(--paper,#f6f4fc);color:var(--ink,#1f2a4d)}
.report-dialog::backdrop{background:rgba(31,42,77,.45)}
.report-dialog h2{margin:0 0 8px;font-size:20px}
.report-dialog fieldset{border:0;margin:12px 0;padding:0}
.report-actions{display:flex;gap:10px}.report-actions button{flex:1;min-height:44px}
.report-status{min-height:1.6em;margin:8px 0;font-size:13px}
.check-row{display:flex;gap:10px;align-items:flex-start;min-height:44px;padding:8px 0;font-size:14px;line-height:1.6;cursor:pointer}
.check-row input{width:22px;height:22px;flex:0 0 22px;margin-top:2px}
.check-row small{display:block;color:var(--muted,#5f688f);font-size:12px}
.date-pair{display:grid;gap:6px}.date-pair>label>span{font-size:12px;font-weight:700}
.year-only{display:grid;gap:4px}.year-only>span{font-size:11px;font-weight:400;color:var(--muted,#5f688f)}
.life-hint{margin-top:-6px}
.upload-status{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}
.upload-error{margin:0;color:#a02b2b;font-size:13px;line-height:1.6}.upload-busy{margin:0;font-size:13px}
.upload-status button{width:auto;min-height:44px;margin:0;padding:0 14px}
/* 사물함 안 관리 줄 */
.niche-manage{position:absolute;z-index:6;left:50%;top:calc(148px + env(safe-area-inset-top,0px));transform:translateX(-50%);display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:min(94vw,560px)}
.niche-manage[hidden]{display:none}
.niche-manage button{min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--hud-edge,rgba(183,168,230,.55));background:var(--hud-surface,rgba(27,37,82,.68));color:var(--hud-text,#f4f1fa);font-size:13px;backdrop-filter:var(--hud-blur,none)}
.niche-manage button:hover,.niche-manage button:focus-visible{background:var(--hud-hover,rgba(70,84,150,.74))}
.niche-manage button[hidden]{display:none}
.merge-choice{border:1px solid var(--edge,#d3d0ec);border-radius:12px;padding:10px 12px;margin-bottom:8px}
.merge-notes{margin:10px 0;padding-left:1.1em;font-size:13px;line-height:1.75}
.merge-error:empty{display:none}
/* 자리 현황 */
.capacity-note{position:absolute;z-index:5;left:50%;top:calc(66px + env(safe-area-inset-top,0px));transform:translateX(-50%);display:grid;gap:2px;justify-items:center;text-align:center;max-width:min(92vw,420px);padding:6px 14px;border-radius:14px;border:1px solid var(--hud-edge,rgba(183,168,230,.55));background:var(--hud-surface,rgba(27,37,82,.68));color:var(--hud-text,#f4f1fa);font-size:13px;line-height:1.55;backdrop-filter:var(--hud-blur,none)}
.capacity-note[hidden]{display:none}
.capacity-note small{font-size:12px;color:inherit;opacity:.9}.capacity-note a{color:inherit;text-decoration:underline;min-height:44px;display:inline-flex;align-items:center}
/* 음악 안내 */
.music-info{position:fixed;z-index:9001;top:calc(60px + env(safe-area-inset-top,0px));right:12px;width:min(92vw,320px);padding:16px;border-radius:16px;background:var(--paper,#f6f4fc);color:var(--ink,#1f2a4d);border:1px solid var(--edge,#d3d0ec);box-shadow:0 10px 30px rgba(0,0,0,.25)}
.music-info[hidden]{display:none}
.music-info h2{margin:0 0 6px;font-size:18px}.music-info ol{margin:8px 0;padding-left:1.4em;font-size:14px;line-height:1.9}
.music-info li.playing{font-weight:700}.music-info .now{margin:0;font-size:13px;line-height:1.6}
.music-info button{width:100%;min-height:44px}
#music-info-button{min-height:44px;min-width:44px}
/* 도움말 */
.help-faq{margin-top:14px}.help-faq h3{margin:16px 0 6px;font-size:16px}
.help-faq details{border-bottom:1px solid var(--edge,#d3d0ec)}.help-faq summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:14px;font-weight:600;line-height:1.5;padding:6px 0}
.help-faq details p{margin:0 0 12px;font-size:13px;line-height:1.8}
.help-lang{margin:0 0 10px;font-size:12px;color:var(--muted,#5f688f)}
/* 가벼운 화면·상태 페이지 */
.lite-page{margin:0;font-family:var(--ui-font,'Pretendard','Apple SD Gothic Neo','Malgun Gothic',sans-serif);background:var(--paper,#f6f4fc);color:var(--ink,#1f2a4d);line-height:1.7}
.lite-page header,.lite-page main,.lite-page footer{max-width:640px;margin:0 auto;padding:16px 18px}
.lite-page h1{font-size:24px;margin:8px 0}.lite-page h2{font-size:18px;margin:22px 0 8px}
.lite-page a{color:var(--green,#2f3d7a);text-underline-offset:3px}
.lite-links{padding-left:1.2em}.lite-links li{min-height:44px;display:flex;align-items:center}
.lite-page form{display:grid;gap:8px}.lite-page input[type=search]{min-height:44px;padding:0 12px;border:1px solid var(--edge,#d3d0ec);border-radius:10px;font:inherit;background:#fff;color:inherit}
.lite-page .primary,.lite-page .secondary{min-height:44px;border-radius:10px;border:1px solid var(--edge,#d3d0ec);font:inherit;padding:0 16px}
.lite-page .primary{background:var(--green,#2f3d7a);color:#fff}.lite-page .secondary{background:#eaedf8;color:inherit}
.lite-results{list-style:none;padding:0;margin:8px 0}.lite-results li a{display:flex;align-items:center;min-height:44px;border-bottom:1px solid var(--edge,#d3d0ec);text-decoration:none}
.status-badge{padding:14px 16px;border-radius:12px;font-size:18px;font-weight:700;background:#eaedf8}
.status-badge[data-state=ok]{background:#dff3e4;color:#1d5a2e}.status-badge[data-state=slow]{background:#fff2cc;color:#6b4e00}.status-badge[data-state=down]{background:#fbe0e0;color:#8a1f1f}
.status-list{padding-left:1.2em;line-height:2}
@media (max-width:420px){.niche-manage button{padding:0 10px;font-size:12px}}
@media (prefers-reduced-motion:reduce){.guide-ring{transition:none!important}}

.danger-soft{min-height:44px;color:#a02b2b}
.bag-hint{margin:6px 0;font-size:12px;line-height:1.7;color:var(--muted,#5f688f)}
body.panel-open .capacity-note,body.app-loading .capacity-note{display:none}


body.panel-open .niche-manage,body[data-pebble-open] .niche-manage{display:none}

.busy-link{color:inherit;text-decoration:underline;min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}
