/* ---------- overlays: native <dialog>, blurred backdrop ---------- */
html.modal-open{overflow:hidden}
.mdl{position:fixed;inset:0;margin:auto;padding:0;border:0;background:transparent;color:var(--ink-1);max-width:none;max-height:none;width:min(720px,calc(100% - 48px));height:fit-content;overflow:visible}
.mdl::backdrop{background:rgba(12,12,12,.34);-webkit-backdrop-filter:blur(16px) saturate(1.15);backdrop-filter:blur(16px) saturate(1.15);opacity:0;transition:opacity .38s var(--ease)}
.mdl.in::backdrop{opacity:1}
.mdl-card{position:relative;background:var(--bg);border-radius:28px;box-shadow:0 0 0 1px color-mix(in srgb,var(--line) 70%,transparent),0 40px 120px -30px rgba(0,0,0,.45);overflow:hidden;opacity:0;transform:translateY(14px) scale(.965);transition:opacity .32s var(--ease),transform .42s var(--ease)}
.mdl.in .mdl-card{opacity:1;transform:none}
.mdl-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:18px 18px 18px 26px;border-bottom:1px solid var(--line)}
.mdl-head .t-cap{color:var(--ink-1)}
.mdl-actions{display:flex;align-items:center;gap:8px}
.mdl-x{width:40px;height:40px;border-radius:50%;border:0;background:var(--chip);color:var(--ink-1);display:grid;place-items:center;cursor:pointer;transition:background-color var(--d-fast) ease,transform var(--d-med) var(--ease)}
.mdl-x:hover{transform:rotate(90deg)}
.mdl-x svg{width:16px;height:16px}
.mdl-x:focus-visible,.mdl-open:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.mdl-open{height:40px;padding:0 14px;border-radius:var(--r-pill);display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;letter-spacing:-.02em;box-shadow:inset 0 0 0 1px var(--line)}
.mdl-open svg{width:13px;height:13px}
.mdl--pdf{width:min(1100px,calc(100% - 48px));height:min(90svh,1100px)}
.mdl--pdf .mdl-card{height:100%;display:flex;flex-direction:column}
.pdf-view{flex:1;min-height:0;position:relative;background:var(--stage)}
.pdf-view iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#fff}
.me-list{list-style:none;margin:0;padding:6px 26px 26px}
.me-list li{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:22px 0;border-top:1px solid var(--line)}
.me-list li:first-child{border-top:0}
@media (min-width:560px){.me-list li{grid-template-columns:120px minmax(0,1fr);align-items:baseline}}
.mdl:not(.mdl--pdf){width:min(760px,calc(100% - 48px))}
.me-val{margin:0;font-weight:600;font-size:clamp(24px,3vw,32px);line-height:1.08;letter-spacing:-.045em}
.me-val small{display:block;margin-top:6px;font-family:var(--sans);font-weight:500;font-size:var(--fs-meta);letter-spacing:-.01em;color:var(--ink-2)}
.spot{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:14px 16px 14px 14px;border-radius:18px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);transition:background-color var(--d-fast) ease,transform var(--d-med) var(--ease)}
.spot:hover{transform:translateY(-1px);background:var(--chip)}
.spot:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.spot-l{display:flex;align-items:center;gap:12px;min-width:0}
.spot-logo{width:40px;height:40px;flex:none;transition:transform var(--d-med) var(--ease)}
.spot:hover .spot-logo{transform:rotate(-10deg)}
.me-item{display:flex;flex-direction:column;gap:10px;min-width:0}
.me-desc{margin:0;font-size:16px;line-height:23px;letter-spacing:-.02em;color:var(--ink-1)}
.me-syn{margin:0;font-size:15px;line-height:22px;letter-spacing:-.015em;color:var(--ink-2);text-wrap:pretty}
.me-meta{margin:4px 0 0;display:flex;flex-direction:column;gap:6px}
.me-meta div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;font-size:13px;line-height:18px}
.me-meta dt{color:var(--ink-2);letter-spacing:.06em;text-transform:uppercase;font-size:11px;line-height:18px}
.me-meta dd{margin:0;letter-spacing:-.01em}
.spot b{display:block;font-size:16px;letter-spacing:-.02em}
.spot span{font-size:var(--fs-meta);color:var(--ink-2)}
.spot svg{width:14px;height:14px;flex:none}
@media (max-width:640px){
  .mdl{width:calc(100% - 20px);margin-bottom:max(10px,env(safe-area-inset-bottom))}
  .mdl--pdf{height:calc(100svh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
  .mdl-card{border-radius:22px}
  .mdl-head{padding:14px 14px 14px 20px}
  .me-list{padding:4px 20px 20px}
  .mdl-open span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
}
@media (prefers-reduced-motion:reduce){.mdl-card{transform:none!important;transition:opacity .2s linear}}
