/* yeojido footer — copy notice, verification hash, last updated, "검증·변경 이력" / "저작권 안내" dialogs (design M002.P023.T014 C).
   Structure from dokkaebi v2.2 (dk2-foot-legal / dk2-proof); colours and shapes moved onto yeojido tokens and the footer's existing night values
   (#fff, #d7cdf0, #c2b6de, #c9b8ff, rgba(255,255,255,.06/.12)). No new colour, no new font: hashes use var(--font) + tabular-nums. */

/* footer block (night surface) */
.pv-legal{display:grid;gap:6px;margin-top:var(--s6);padding-top:var(--s5);box-shadow:inset 0 1px 0 rgba(255,255,255,.12);font-size:13px}
.foot .pv-legal p{margin-top:0;font-size:13px;color:#d7cdf0}
.foot .pv-legal .pv-proof{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:6px;color:#fff}
.pv-proof>.pv-ic{width:18px;height:18px;color:#c9b8ff}
.pv-proof>span{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}
.pv-proof time{font-weight:700;font-variant-numeric:tabular-nums}
.pv-ic{width:20px;height:20px;flex:none}
.pv-btns{display:flex;flex-wrap:wrap;gap:0 22px}
.pv-linkbtn{display:inline-flex;align-items:center;min-height:44px;min-width:44px;padding:0;border:0;background:none;font:inherit;font-size:14px;font-weight:700;color:#fff;text-decoration:underline;text-decoration-color:#c9b8ff;text-underline-offset:5px;cursor:pointer}
html:not(.js) .pv-linkbtn{display:none}

/* copyright line: "© 2022–2026 강남룸빵여지도" + a very small "since 2022", secondary colour, weight 400, nothing more */
.foot small.pv-copy{font-weight:400}
.pv-since{margin-left:4px;font-size:12px;font-weight:400;color:#c2b6de}

/* hashes: 16-character chips are capsules; the 64-character proof hash is a rounded box that breaks anywhere */
.pv-hash{padding:1px 10px;border-radius:var(--r-pill);background:var(--surface-tint);font:600 12px/1.6 var(--font);letter-spacing:.03em;color:var(--cat-fg);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.foot .pv-hash{background:rgba(255,255,255,.06);color:#c9b8ff}
.pv-hash.pv-hash-long,.pv-dlg-body dd>.pv-hash:first-child:not(:only-child),.pv-src-body dd>.pv-hash:first-child:not(:only-child){display:block;flex:1 1 100%;max-width:100%;padding:6px 10px;border-radius:var(--r-sm);line-height:1.5}
.pv-pending{padding:1px 10px;border-radius:var(--r-pill);box-shadow:inset 0 0 0 1px currentColor;font-size:13px;font-weight:700;color:var(--cat-fg)}
.foot .pv-pending{color:#c9b8ff}

/* no-JS / no-dialog fallback: one details block in the footer */
.pv-src{margin-top:12px;border-radius:var(--r-sm);background:rgba(255,255,255,.06)}
.pv-src summary{display:flex;align-items:center;min-height:48px;padding:0 16px;cursor:pointer;font-weight:700;color:#fff}
.pv-src-body{padding:0 16px 16px;font-size:14px;color:#d7cdf0}
html.js .pv-src{display:none}

/* dialog (theme surface, so light and dark follow the tokens) */
.pv-dlg{width:min(92vw,600px);max-height:min(86vh,780px);padding:0;border:0;border-radius:var(--r-lg);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-2);overflow:hidden}
.pv-dlg[open]{display:flex;flex-direction:column}
.pv-dlg::before{content:"";position:absolute;left:24px;right:24px;top:0;height:2px;background:var(--brand-grad)}
.pv-dlg::backdrop{background:rgba(26,15,46,.72)}
.pv-dlg-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 10px 12px 22px;box-shadow:inset 0 -1px 0 var(--line)}
.pv-dlg-top>.pv-ic{color:var(--cat-fg)}
.pv-dlg-top h2{font-size:18px;line-height:1.3;font-weight:800;letter-spacing:-.02em}
.pv-x{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:var(--r-pill);background:transparent;color:var(--ink-2);cursor:pointer}
.pv-x:hover{background:var(--hover)}
.pv-dlg-body{padding:16px 22px 20px;overflow:auto;font-size:15px}
.pv-note{font-size:14px;color:var(--ink-2)}
.pv-dlg-body h3,.pv-src-body h3{margin:18px 0 6px;font-size:15px;font-weight:800}
.pv-src-body h3{color:#fff}
.pv-dlg-body dl>div,.pv-src-body dl>div{display:grid;grid-template-columns:minmax(0,8.5em) minmax(0,1fr);gap:12px;padding:9px 0;box-shadow:inset 0 -1px 0 var(--line)}
.pv-src-body dl>div{box-shadow:inset 0 -1px 0 rgba(255,255,255,.12)}
.pv-dlg-body dt,.pv-src-body dt{font-size:13px;color:var(--ink-2)}
.pv-src-body dt{color:#c2b6de}
/* dd: row-gap 8px so a 44px link box never covers the hash on the next line */
.pv-dlg-body dd,.pv-src-body dd{display:flex;flex-wrap:wrap;align-items:center;gap:8px 8px;min-width:0;overflow-wrap:anywhere}
.pv-dlg-body dd a,.pv-src-body dd a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;margin-block:-7px;color:var(--cat-fg);text-underline-offset:3px;font-weight:600}
.pv-src-body dd a{color:#c9b8ff}

/* change log: dots on a line */
.pv-log{display:grid;margin-left:6px;box-shadow:inset 1px 0 0 var(--line)}
.pv-log li{position:relative;display:grid;gap:2px;padding:2px 0 12px 18px;color:var(--ink-2)}
.pv-log li::before{content:"";position:absolute;left:-5px;top:8px;width:11px;height:11px;border-radius:50%;background:var(--surface);box-shadow:inset 0 0 0 2px var(--ink-3)}
.pv-log li:first-child::before{box-shadow:inset 0 0 0 2px var(--brand-purple)}
.pv-log li>:first-child{font-size:13px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
.pv-src-body .pv-log{box-shadow:inset 1px 0 0 rgba(255,255,255,.12)}
.pv-src-body .pv-log li{color:#d7cdf0}
.pv-src-body .pv-log li::before{background:var(--night);box-shadow:inset 0 0 0 2px #c2b6de}
.pv-src-body .pv-log li>:first-child{color:#fff}

/* copyright notice: numbered */
.pv-law{display:grid;gap:12px;counter-reset:pvlaw}
.pv-law li{counter-increment:pvlaw;display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px;color:var(--ink-2);line-height:1.65}
.pv-law li::before{content:counter(pvlaw);display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--surface-tint);color:var(--cat-fg);font-size:13px;font-weight:800}
.pv-src-body .pv-law li{color:#d7cdf0}
.pv-src-body .pv-law li::before{background:rgba(255,255,255,.06);color:#c9b8ff}
.pv-dlg-foot{padding:12px 22px 18px;box-shadow:inset 0 1px 0 var(--line)}
.pv-dlg-foot .btn{width:100%}
